Created
October 17, 2013 10:40
-
-
Save MrBlaise/7022751 to your computer and use it in GitHub Desktop.
Emelt informatika érettségi 2005 május - Lottó / Solution for Advanced Computer Science Matura 2005 may (Hungary)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# Rostás Balázs - Emelt informatika érettségi 2005 május - Lottó | |
# Fájl beolvasás függvénnyel: (Végül egyszer van csak felhasználva a függvény, de gyakorlásképp oldottam meg így) | |
def fajlBe(fajl): | |
fajlBe = open(fajl, "r") | |
lottoSzamLista = [] | |
for sor in fajlBe: | |
lottoSzamLista.append(sor.split()) | |
lottoSzamLista = [[int(szam) for szam in het] for het in lottoSzamLista] | |
fajlBe.close() | |
return lottoSzamLista | |
# 1-2. feladat ______________________________________________________: | |
lottoSzam = [] | |
print("Kérem adja meg a hiányzó 52. hét lottószámait:\n") | |
for i in range(5): | |
lottoSzam.append(int(input("Kérem adja meg az "+str(i+1)+". számot: "))) | |
lottoSzam.sort() | |
print("\nA megadott számok:", lottoSzam) | |
# 3-4. feladat ______________________________________________________: | |
lottoSzamLista = fajlBe("lottosz.dat") | |
bekerSzam = int(input("\nAdjon meg egy számot 1-51 között: ")) | |
print(lottoSzamLista[bekerSzam-1]) | |
# 5. feladat ________________________________________________________: | |
szamEgyszerSe = False | |
for lottoszam in range(1, 91): | |
for het in range(51): | |
if lottoszam in lottoSzamLista[het]: | |
szamEgyszerSe = False | |
break | |
else: | |
szamEgyszerSe = True | |
if szamEgyszerSe: | |
break | |
if szamEgyszerSe: | |
print("\nVan olyan szám amit egyszer sem húztak ki az 51 hét alatt!") | |
else: | |
print("\nNincs olyan szám amit egyszer sem húztak ki az 51 hét alatt!") | |
# 6. feladat ________________________________________________________: | |
paratlan = 0 | |
for het in lottoSzamLista: | |
for szam in het: | |
if szam%2 == 1: | |
paratlan += 1 | |
print("\n",paratlan," db páratlan szám került kihúzásra.\n", sep="") | |
# 7. feladat ________________________________________________________: | |
ujFajl = open("lotto52.ki","w") | |
lottoSzamString = [[str(szam) for szam in het] for het in lottoSzamLista] | |
for het in lottoSzamString: | |
ujFajl.write(" ".join(het)+"\n") | |
ujFajl.write(" ".join(str(szam) for szam in lottoSzam)) | |
ujFajl.close() | |
# 8. feladat ________________________________________________________: | |
ujFajl = fajlBe("lotto52.ki") | |
kihuzas = [] | |
for szam in range(1,91): | |
dbSzam = 0 | |
for het in ujFajl: | |
if szam in het: | |
dbSzam += 1 | |
kihuzas.append(dbSzam) | |
kihuzasMasolat = [str(szam) for szam in kihuzas] | |
print("Egyes számok gyakorisága:") | |
for sor in range(6): | |
print(" ".join(kihuzasMasolat[:15])) | |
kihuzasMasolat = kihuzasMasolat[15:] | |
# 9. feladat ________________________________________________________: | |
print() | |
primSzamok = [] | |
for num in range(2,91): | |
if all(num%i!=0 for i in range(2,num)): | |
primSzamok.append(num) | |
primVolt = True | |
print("A nem kihuzott prímszám(ok): ", end="") | |
for lottoszam in primSzamok: | |
for het in range(52): | |
if lottoszam not in ujFajl[het]: | |
primVolt = False | |
else: | |
primVolt = True | |
break | |
if not primVolt: | |
print(lottoszam, end=" ") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment