1 kodok=[2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9]
2 betuk=[chr(b) for b in range(97,123)]
3
4 def betu_kodja(b):
5 return kodok[betuk.index(b)]
6
7 def szo_kodja(sz):
8 kod=''
9 for betu in sz:
10 kod+=str(betu_kodja(betu))
11 return kod
12
13 def kod_szavak(k):
14 return [szavak[i] for i in range(0,len(kodok)) if kodok[i]==k]
15
16 def F1():
17 print('1. feladat - betű és kódja')
18 betu=input('Kérek egy betűt: ')
19 print('A megadott betű kódja:',betu_kodja(betu))
20
21 def F2():
22 print('\n2. feladat - szó és kódolása')
23 szo=input('Kérek egy szót: ')
24 print('A megadott szó kódja:',szo_kodja(szo))
25
26 def F3():
27 # 3. feladat - adatok beolvasása...
28 global szavak
29 szavak=[sz.strip() for sz in open('szavak.txt','r')]
30
31 def F4():
32 print('\n4. feladat - leghosszabb szó')
33 rendezett=sorted(szavak,key=lambda sz:len(sz),reverse=True)
34 print(f'A leghosszabb szó: {rendezett[0]}, hossza: {len(rendezett[0])}')
35
36 def F5():
37 print('\n5. feladat - rövid szavak száma (5 karakter vagy kevesebb)')
38 rovidek=[szo for szo in szavak if len(szo)<6]
39 print(len(rovidek))
40
41 # db=0
42 # for sz in szavak:
43 # if len(sz)<6:
44 # db+=1
45
46 def F6():
47 # 6. feladat - szavak kódjai (kodok.txt)
48 fki=open('kodok.txt','w')
49 global kodok
50 kodok=[szo_kodja(szo) for szo in szavak]
51 [print(kod,file=fki) for kod in kodok]
52 fki.close()
53
54 def F7():
55 print('\n7. feladat - kódhoz tartozó szavak')
56 kod=input('Kérek egy kódot: ')
57 print('A kódhoz tartozó szavak:',end=' ')
58 [print(szo,end=' ') for szo in kod_szavak(kod)]
59 print()
60
61 def F8_9():
62 print('\n8. feladat - mely kódokhoz tartozik több szó is')
63 maxi={}
64 maxh=0
65 for kod in set(kodok):
66 lst=kod_szavak(kod)
67 if len(lst)>1:
68 if len(lst)>maxh:
69 maxi={kod:lst}
70 maxh=len(lst)
71 for szo in lst:
72 print(f'{szo} : {kod};',end=' ')
73 print()
74 print('\n9. feladat - melyik kódnak megfelelő szóból van a legtöbb')
75 for key in maxi:
76 print('kód: ',key)
77 print('Hozzá tartozó szavak:',end=' ')
78
79 for maxi_sz in maxi.values():
80 for sz in maxi_sz:
81 print(sz,end=' ')
82 print()
83
84 F1()
85 F2()
86 F3()
87 F4()
88 F5()
89 F6()
90 F7()
91 F8_9()
92