Arvutiteaduse instituut
  1. Kursused
  2. 2018/19 kevad
  3. Programmeerimine (LTAT.03.001)
EN
Logi sisse

Programmeerimine 2018/19 kevad

  • Home

Before session 7

Strings

Watch lecture videos:

Slides in English

Textbook in English

Quiz

Go to Moodle and solve the quiz on strings.

Examples

Strings are sequences of characters. They are useful in a large varietey of situations and, especially today, the range of applications is increasing very fast.

Example 1. Estonian Personal identification code

In Estonia, a personal identification code (Estonian: isikukood) is defined as a number formed primarily on the basis of the gender and the date of birth of the person. The identification code is unique for each citizen, therefore it is possible to identify persons by their codes. The national ID-card, its associated certificates and digital signatures use personal identification codes.

The code consists of 11 digits, generally written without whitespaces or other delimiters. It has the form GYYMMDDSSSC, where G shows the gender and birth century (odd numbers for male, even numbers for female; 1-2 for individuals born in the 19th century, 3-4 for the 20th century, and 5-6 for the 21st century). SSS is a serial number uniquely identifying people born on the same date, and C is the checksum.

The following program prompts the user for an identification code, finds the person's birthday date from the code and prints it out in the format dd.mm.yyyy:

code = input("Please enter a personal identification code: ")
#For example: 48007140350

date = code[5] + code[6]
month = code[3] + code[4]

if code[0] == "1" or code[0] == "2":
    century = "18"
elif code[0] == "3" or code[0] == "4":
    century = "19"
else:
    century = "20"

year = century + code[1] + code[2]

print("The birthday of the person with the code", code, "is", date+"."+month+"."+year)

Example 2. Room number from address

The following program prompts for an address. The program finds and prints out room number in the address, assuming that the address is entered in the form of street_name building_number-room_number, town_name; e.g. Liivi 2-203, Tartu.

address = input("Enter address: ")

fpos = address.find("-")
lpos = address.find(",", fpos)

room = address[fpos+1:lpos]

print("Room number is", room)

Exercises

1. Name and grades

Write a program that asks the user for his/her first name and grades. The grades are entered as a continuous string of letters. The program outputs exactly four lines of text:

  • Name and all grades. Regardless of how the data are entered, in output the name should begin with capital letter, followed by lowercase letter, and the grades should be printed in all uppercase.
  • Total number of grades
  • The last grade that in the input
  • Total number of A's and B's, counted together

Example of program output:

 Enter first name: eLiIsE
 Enter grades: aaAbBcDaD
 Hello Eliise, your grades are AAABBCDAD
 You have 9 grades
 Last grade is D
 The number of A's and B's is 6

2. Username from URL

Every user of the University of Tartu computer network (student or staff member) has his/her home directory. The user can create a webpage on server of the university. The URL for this webpage is http://www.ut.ee/~username/, for example http://www.ut.ee/~vilo.

Write a program that prompts the user for a URL, finds whether it is a URL containing the username of the University of Tartu, and if yes, prints out the username. Otherwise it prints a corresponding message.

 Please enter URL: http://www.ut.ee/~koit/KT/index_eng.html
 Username is koit

 Please enter URL: http://butler.cc.tut.fi/~jorma/
 Username not found

 Please enter URL: https://www.ut.ee/et/oppimine
 Username not found

Hint: see Python documentation on built-in type str.

Submit your solutions

Submit your solutions of exercises 1 and 2 in Moodle under the names home1.py and home2.py, respectively.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused