A megoldás sok olyan, a Python nyelv szépségeit kihasználó elemet tartalmaz, amelyet középiskolai érettségizőnek nem feltétlen tanít az ember.
Tesztelve a 3.1.2 verzióban.
#!/usr/bin/env python3 ### 1-2. feladat szamok52 = [int(szam) for szam in sorted(list(input('Kerem az 52. heti lottoszamokat!').split()),key=int)] print("Az 52. het szamai: "+", ".join(str(szam) for szam in szamok52)) ### 3-4. fealdat adatok = list() for sor in open("lottosz.dat"): adatok.append([int(szam) for szam in list(sor.split())]) print("Ime: "+", ".join(str(szam) for szam in adatok[int(input("Melyik het szamaira vagy kivancsi? "))-1])+".") ### 5. feladat sosevoltak = [szam for szam in range(1,91) if szam not in sum(adatok, [])] # a lista valojaban a soha ki nem huzott szamokat tarolja. Ha ures marad, akkor nem volt soha ki nem houzott szam, ezt hasznljuk ki a kovetkezo sorban print('Van olyan szam, amit az elso 51 heten nem huztak ki.') if sosevoltak else print ('Nincs olyan szam, amit az elso 51 heten nem huztak ki.') ### 6. feladat print("Ennyiszer húztak páratlan számot: "+str(len([szam for szam in sum(adatok, []) if szam in range(1,91,2)]))) ### 7. feladat fh = open("lotto52.ki", "w") for sor in adatok: fh.write(" ".join(str(szam) for szam in sor)+"\n") fh.write(" ".join(str(szam) for szam in szamok52)+"\n") fh.close() ### 8. feladat adatok = list() for sor in open("lotto52.ki"): adatok.append([int(szam) for szam in list(sor.split())]) laposlista = sum(adatok, []) print(" ".join(str(laposlista.count(szam)) for szam in range(1,91))) #### ugyanaz, csak a példának megfelelő 6x15 számmal ##ki = [laposlista.count(szam) for szam in range(1,91)] ##for a in range(1,90,15): ## for b in range(0,15): ## print(str(ki[a+b-1])+" ",end="") ## print() ### 9. feladat primek = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89] print("Ki nem huzott primek: "+", ".join(str(szam) for szam in primek if szam not in laposlista))
Olvasmány[]
Ezzel a feladattal kapcsolatban további érdekességek találhatóak az Informatika levelezőlista Lottó feladat haladóknak C# + LinqPad threadjében.
Ez a szócikk forráskódot tartalmaz, amely egy WikiMedia-kiegészítés segítségével olyan színesen jeleníthető meg, mint például ebben a Wikipédia-cikkben. A kiegészítést a Wikia-stáb ígérete szerint 2010 végéig frissítik, addig türelmet kérünk a fapados kinézet miatt.
Érettségi feladatok programozásból |
---|
2004 Személyazonosító jel
2005 Lottó • Vigenère-tábla 2006 Telefonszámla • Fehérje • Zenei adók 2007 SMS-szavak • Foci 2008 SMS • Robot 2009 Lift • Automata • Útépítés 2010 Helyjegy • Telek • Anagramma 2011 Szójáték • Rejtvény • Pitypang 2012 Futár • Törtek • Szín-kép 2013 Választások • Számok • Közúti ellenőrzés 2014 IPv6 • Céllövészet • Nézőtér 2015 Expedíció • Latin táncok • Fej vagy írás 2016 Ötszáz • Zár • Telefonos ügyfélszolgálat 2017 Tesztverseny • Fürdő • Hiányzások 2018 Társalgó • Fogadóóra • Kerítés 2019 Céges autók • Tantárgyfelosztás • eUtazás 2020 Meteorológiai jelentés • Menetrend • Sorozatok 2021 Gödrök • Bányató |