# 1. feladat fajl = 'konnyu.txt' # input('Adja meg a bemeneti fájl nevét!') sorszam = 1 # input('Adja meg egy sor számát!') oszlopszam = 1 # input('Adja meg egy oszlop számát!') # 2. feladat adatok = [] lepesek = [] with open(fajl, 'r') as forrasfajl: for index,sor in enumerate(forrasfajl): sor = list(map(int,sor.strip().split())) if index < 9: adatok.append(sor) if index >= 9: lepesek.append(sor) # 3. feladat print('\n3. feladat') if adatok[sorszam-1][oszlopszam-1] == 0: print('Az adott helyet még nem töltötték ki') else: print(f'Az adott helyen szereplő szám: {adatok[sorszam-1][oszlopszam-1]}') resztablak = [ [1,1,1,2,2,2,3,3,3], [1,1,1,2,2,2,3,3,3], [1,1,1,2,2,2,3,3,3], [4,4,4,5,5,5,6,6,6], [4,4,4,5,5,5,6,6,6], [4,4,4,5,5,5,6,6,6], [7,7,7,8,8,8,9,9,9], [7,7,7,8,8,8,9,9,9], [7,7,7,8,8,8,9,9,9] ] print(f'A hely a(z) {resztablak[sorszam-1][oszlopszam-1]}. résztáblázathoz tartozik.') # 4. feladat print(f'Az üres helyek aránya: {round(100*len([ szam for adat in adatok for szam in adat if szam == 0 ])/81,1)}%') # 5. feladat print('\n5. feladat') def resztabla_eloallito(i,j): resztabla = [] tabla_azonosito = resztablak[i][j] for a,sor in enumerate(resztablak): for b,oszlop in enumerate(sor): if oszlop == tabla_azonosito: resztabla.append(adatok[a][b]) return resztabla for lepes in lepesek: print(f'\nA kiválaszott sor: {lepes[1]}, oszlop: {lepes[2]}, a szám: {lepes[0]},') if adatok[lepes[1]-1][lepes[2]-1] != 0: print('A helyet már kitöltötték') elif lepes[0] in adatok[lepes[1]-1]: print('Az adott sorban már szerepel a szám') elif lepes[0] in [ adat[lepes[2]-1] for adat in adatok ]: print('Az adott oszlopban már szerepel a szám') elif lepes[0] in resztabla_eloallito(lepes[1]-1,lepes[2]-1): print('A résztáblázatban már szerepel a szám. ') else: print('A lépés megtehető.')