Stringek, listák és vektorok elemeit egyaránt rendezhetjük a sorted() függvénnyel; eredményként minden esetben (értelemszerűen rendezett) listát kapunk:
>>> str= '3742446162' >>> srt= sorted(str) >>> srt ['1', '2', '2', '3', '4', '4', '4', '6', '6', '7'] >>> lst= [37, 42, 44, 61, 62, ] >>> srt= sorted(lst) >>> srt [37, 42, 44, 61, 62] >>> tpl= (37, 42, 44, 61, 62, ) >>> srt= sorted(tpl) >>> srt [37, 42, 44, 61, 62]
Felhasználva a fentieket a Lottó című feladat megoldásához (inf_e_20050519_m_04):
print('1. feladat') n1= int(input('Kérem az 52. hét 1. lottószámát: ')) n2= int(input('Kérem az 52. hét 2. lottószámát: ')) n3= int(input('Kérem az 52. hét 3. lottószámát: ')) n4= int(input('Kérem az 52. hét 4. lottószámát: ')) n5= int(input('Kérem az 52. hét 5. lottószámát: ')) print('2. feladat') srt= sorted((n1, n2, n3, n4, n5)) print('Az 52. hét lottószámai emelkedő számsorrendben: ', srt[0], ', ', srt[1], ', ', srt[2], ', ', srt[3], ', ', srt[4], sep='')
Figyeljük meg a sorted() függvény zárójelei között megadott (további) zárójelpárt: így állítunk elő az öt számból egy vektort, melyet aztán egyetlen argumentumként kap meg a függvény.
Az adatok tárolását listával, a beolvasást, kiírást ciklussal végezve:
print('1. feladat') lst= [] for i in range(5): lst+= [int(input('Kérem az 52. hét ' + str(i+1) + '. lottószámát: '))] print('2. feladat') srt= sorted((n1, n2, n3, n4, n5)) print('Az 52. hét lottószámai emelkedő számsorrendben:', end=' ') for n in srt[:-1]: print(n, end=', ') print(srt[-1])
A kiírás során ügyelnünk kellett az egy alapú számozásra, s mivel az input utasítás csak egy argumentumot kaphat, a sorszám típuskonverziója után összefűztünk három kiírandó stringet. Végül vegyük észre, hogy az utolsó elemet külön kellett kiírnunk, hogy a korábbiak után álló vessző ebben az esetben már ne jelenjék meg.