Oblikovanje tekačev
Testi
Testi
Testi: testi-oblikovanje-tekacev.py
Obvezna naloga
Napiši funkcijo tekac(startna, ime, leto, h, m, s)
, ki dobi podatke o
nekem tekaču (startna številka, ime in priimek, leto, čas teka v urah, minutah
in sekundah, vrne pa niz v točno predpisani obliki.
>>> tekac(1, "ROMAN SONJA", 1979, 1, 15, 2)
' 1. ROMAN SONJA 01:15:02'
>>> tekac(1, "JAN HUS", 1979, 1, 15, 2)
' 1. JAN HUS 01:15:02'
>>> tekac(1234, "ROMAN SONJA", 1979, 0, 1, 23)
'1234. ROMAN SONJA 00:01:23'
Pomoč:
>>> "{:05}".format(42)
'00042'
Ime ima 20 znakov (+ presledek spredaj in zadaj).
Rešitev
Tako preproste domače naloge letos ne boste več dobili. :) Zahteva samo nekaj štetja.
Najprej je potrebno izpisati štartno številko na štiri mesta ({:4}
), nato
piko in presledek (.
), pa ime na dvajset mest ({:20}
), spet presledek,
nato pa ure, minute in sekunde na dve mesti, z vodilno ničlo in z dvopičjem
vmes ({:02}:{:02}:{:02}
). Malo zmede povzročajo le vsa ta dvopičja: tista
znotraj oklepajev določajo obliko, tista izven pa se v resnici izpišejo.
Vse skupaj je torej
def tekac(startna, ime, leto, h, m, s):
return "{:4}. {:20} {:02}:{:02}:{:02}".format(startna, ime, h, m, s)
Dodatna naloga
Napiši funkcijo tekac_star(startna, ime, leto, h, m, s)
, ki naredi isto,
le še letnico vključi, takole:
>>> tekac_star(1, "ROMAN SONJA", 1979, 1, 15, 2)
' 1. ROMAN SONJA (1979) 01:15:02'
>>> tekac_star(1234, "ROMAN SONJA", 1979, 0, 1, 23)
'1234. ROMAN SONJA (1979) 00:01:23'
>>> tekac_star(1234, "JAN HUS", 1979, 0, 1, 23)
'1234. JAN HUS (1979) 00:01:23'
**Pomoč: ** Ime ima 26 znakov, skupaj z letnico.
Rešitev
Če morata ime in letnica skupaj zavzeti 26 znakov, je najboljše, da ju obravnavamo kot eno reč. Sestavimo ju, preden se lotimo sestavljati končni niz.
def tekac_star(startna, ime, leto, h, m, s):
ime_leto = "{} ({})".format(ime, leto)
return "{:4}. {:26} {:02}:{:02}:{:02}".format(startna, ime_leto, h, m, s)
Pomoč
>>> "{:05}".format(42)
'00042'