Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # Rostás Balázs -Emelt informatika érettségi 2010 október - Anagramma
- def anagrammaKereses(keresettSzo, szavak):
- anagramma = True
- anagrammaSzavak = []
- for szo in szavak:
- for char in szo:
- if char not in keresettSzo:
- anagramma = False
- break
- if anagramma and len(szo) == len(keresettSzo):
- anagrammaSzavak.append(szo)
- else:
- anagramma = True
- return anagrammaSzavak
- # 1. feladat:
- print("1. feladat:")
- szovegBe = input("Kérem adjon meg egy szöveget: ")
- karakterSzam = []
- for char in szovegBe:
- if char.lower() not in karakterSzam:
- karakterSzam.append(char.lower())
- print("Összesen", len(karakterSzam), "különböző karakter van a szövegben.")
- # 2. feladat:
- fajlBe = open("szotar.txt", "r")
- szavak = [sor.strip() for sor in fajlBe]
- fajlBe.close()
- print("\n2. feladat - szavak.txt beolvasása - KÉSZ!")
- # 3. feladat:
- fajlKi = open("abc.txt", "w")
- [ print("".join(sorted(szo)), file = fajlKi ) for szo in szavak ]
- fajlKi.close()
- print("\n3. feladat - abc.txt fájl létrehozása - KÉSZ!")
- # 4. feladat:
- print("\n4. feladat:")
- elsoSzo = input("Kérem adjon meg egy szót: ")
- masodikSzo = input("Kérem adjon meg egy másik szót: ")
- anagramma = True
- for char in elsoSzo:
- if char.lower() not in masodikSzo.lower():
- print("Nem anagramma")
- anagramma = False
- break
- if anagramma:
- print("Anagramma")
- # 5. feladat:
- print("\n5. feladat:")
- szoBe = input("Kérem adjon meg egy szót az anagrammák kilistázásához: ")
- anagrammaSzavak = anagrammaKereses(szoBe, szavak)
- if len(anagrammaSzavak) != 0:
- print("\n".join(anagrammaSzavak))
- else:
- print("Nincs a szótárban anagramma")
- # 6. feladat:
- print("\n6. feladat:")
- maxEddig = 0
- hoszSzavak = []
- hoszSzavakRend = []
- for szo in szavak:
- if maxEddig < len(szo):
- maxEddig = len(szo)
- for szo in szavak:
- if maxEddig == len(szo):
- hoszSzavak.append(szo)
- for szo in hoszSzavak:
- keresettSzo = anagrammaKereses(szo, szavak)
- if len(keresettSzo) != 0:
- for szoKeresett in keresettSzo:
- if szoKeresett not in hoszSzavakRend:
- hoszSzavakRend.append(szoKeresett)
- print("\n".join(hoszSzavakRend))
- # 7. feladat:
- rendezettszavak = sorted(list({ ''.join(sorted(szó)) for szó in szavak }), key=len)
- hossz = len(sorted(szavak, key=len)[0]) # A legrövidebb szó hosszára állítjuk
- fajlKi = open('rendezve.txt', 'w')
- for szó in rendezettszavak:
- if len(szó) > hossz: # Ha nőtt a szó hossza az előzőhöz képest
- print('', file=fajlKi)
- hossz = len(szó)
- for anagramma in anagrammaKereses(szó, szavak):
- print(anagramma, '', end='', file=fajlKi)
- print('', file=fajlKi) # Sortörés az egymás anagrammáit tartalmazó sor végén
- fajlKi.close()
- print("\n7. feladat - rendezve.txt létrehozása - KÉSZ!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement