Krajšanje imena

Krajšanje imena

Avtor: Mojca Šuštaršič

Besedilo naloge

Mobilni telefon hrani telefonski imenik z imeni in priimki. Ker so nekatera imena in priimki zelo dolgi, včasih na zaslonu ni dovolj prostora, da b izpisali polno ime in priimek. V tem primeru se mora prikazati smiselna okrajšava.

Funkcija krajšanjeImena sprejme ime - ime osebe, priimek - priimek osebe ter n - število znakov, ki jih sprejme telefonski imenik. Funkcija primerja dolžino imena in priimka ter števila n in naredi primerno okrajšavo.

Koda v Pythonu

""def krajsanjeImena(ime, priimek, n): assert type(ime) == str, 'ime mora biti niz' assert type(priimek) == str, 'priimek mora biti niz' assert type(n) == int, 'n mora biti število' dIme = len(ime) #dolžina imena dPri = len(priimek) #dolžina priimka dol = dIme + dPri #skupna dolžina imena in priimka if dol <= n: print(ime, priimek) else: a = ime[0] + '.' #v a shranimo prvo črko imena in piko if (dPri+3) <= n: #+3 zato ker je prva črka imena, pika in presledek print(a, priimek) elif dPri <= n: #preverimo če je dolžina priimka manjša od n print(priimek) elif 4<=n: #če je 4 anjše ali enako n se izpišeta inicialke imena in priimka print (ime[0]+"."+priimek[0]+".") else: print ("")

Razlaga kode

Metoda sprejme ime in priimek osebe ter število n(ki predstavlja število znako, ki jih sprejme telefonski imenik). dIme hrani dolžino znakov imena in dPri dolžino znakov priimka, dol pa skupno dolžino imena in priimka. V spremenljivko i je shranjen prva črka imena in pika v spremenljivko k pa skupna dolžina spremenljivke i ter dolžine priimka. S prvim if preverimo, če je dol(torej skupna dolžina imena in priimka manjša od števila n. In če je funkcija končka in izpiše ime in priimek. Če prvi pogoj ni bil izpolnjen, gre funkcija v naslednjo zanko in preveri, če je dol večji od n in če je dPri manjši od števila n in če je, metoda izpiše prvo črko imena in priimek osebe. Če tudi ta pogoj ni bil izpolnjen gre metoda v naslednjo zanko, v kateri preveri če je dolžina i -ja večja pd n in če je k manjši od n. Ob izpolnjenem pogoju se izpišek samo priimek osebe. Nazadnje se preveri, če je dPri večji od n. Ob izpolnjenem zadnem pogoju se v spremenljivko a shranijo inicialke podanega imena in priimka, ki se na koncu tudi izpišejo, če je njihova dolžina manjša od n.

Uporaba funkcije

 >>> krajsanjeImena('Saša', 'Udir', 9)
Saša Udir
>>> krajsanjeImena('Mojca', 'Kerin', 9)
M. Kerin
>>> krajsanjeImena('Mateja', 'Gorišek', 9)
Gorišek
>>> krajsanjeImena('Mojca', 'Šuštaršič',5)
M.Š.
>>> krajsanjeImena('Mateja', 'Gorišek', 5)
M.G.
>>> krajsanjeImena('Saša', 'Udir', 0)

>>>  

(slike/krajsanje.jpg)
Zaslonska slika Pythona
0%
0%