1 # inicializálás (kezdőállapot kialakítása) 2 # GLOBÁLIS ADATOK 3 #az input01.txt esetben egy sorban egy adat ----> "sima" lista: ehhez kell az adatok lista 4 #az input02.txt esetben egy sorban több, de ugyanolyan típusú adat ----> "sima" mátrix (listák listája): 5 # ehhez kell a matrix lista 6 #az input03.txt esetben egy sorban több és különböző típusú adat ----> "vegyes" mátrix (listák listája): 7 # ehhez kell a vegyes_matrix lista 8 adatok = [] 9 matrix = [] 10 vegyes_matrix = [] 11 szotar=dict() # {} 12 13 def beolvasas01(): 14 # "klasszikus" megoldás: 15 fbe = open('input01.txt', 'r') 16 17 for sor in fbe: 18 sor = int(sor.strip()) 19 adatok.append(sor) 20 print('"Klasszikusan" készülő lista:\n', adatok) 21 fbe.close() 22 23 print('********************************************************') 24 25 # "gyors" vagy "rövid" megoldás: 26 adatok2 = [int(elem.strip()) for elem in open('input01.txt', 'r').readlines()] 27 print('"Gyorsan" készülő lista:\n', adatok2) 28 29 print('********************************************************') 30 print('********************************************************') 31 32 def beolvasas02(): 33 # "klasszikus" megoldás: 34 fbe = open('input02.txt', 'r') 35 36 for sor in fbe: 37 sor = sor.strip().split() 38 sor = list(map(int, sor)) 39 matrix.append(sor) 40 41 print('"Klasszikusan" készülő mátrix:\n', matrix) 42 43 fbe.close() 44 45 print('********************************************************') 46 47 # "gyors" vagy "rövid" megoldás: 48 matrix2 = [list(map(int, sor.strip().split())) for sor in open('input02.txt', 'r').readlines()] 49 print('"Gyorsan" készülő mátrix:\n', matrix2) 50 51 print('********************************************************') 52 print('********************************************************') 53 54 def beolvasas03(): 55 # "klasszikus" megoldás: 56 fbe = open('input03.txt', 'r') 57 58 for sor in fbe: 59 sor = sor.strip().split() 60 for i in range(len(sor)): 61 if sor[i].isdigit(): 62 sor[i] = int(sor[i]) 63 vegyes_matrix.append(sor) 64 65 print('"Klasszikusan" készülő "vegyes" mátrix:\n', vegyes_matrix) 66 67 fbe.close() 68 69 print('********************************************************') 70 71 # "gyors" vagy "rövid" megoldás: 72 matrix_temp = [sor.strip().split() for sor in open('input03.txt', 'r').readlines()] 73 vegyes_matrix2 = [[int(matrix_temp[i][j]) if matrix_temp[i][j].isdigit() else matrix_temp[i][j] for j in 74 range(len(matrix_temp[i]))] for i in range(len(matrix_temp))] 75 print('"Gyorsan" készülő "vegyes" mátrix:\n', vegyes_matrix2) 76 77 def beolvasas04(): 78 # "klasszikus" megoldás: 79 fbe = open('input04.txt', 'r') 80 81 keys=set() 82 temp=[] 83 for sor in fbe: 84 85 sor=sor.strip().split() 86 87 if sor[0] in keys: 88 temp.append(sor[1:]) 89 szotar[sor[0]]=temp 90 else: 91 temp=[] 92 temp.append(sor[1:]) 93 szotar[sor[0]]=temp 94 keys.add(sor[0]) 95 96 fbe.close() 97 98 print('"Klasszikusan" készülő "szótár":\n', szotar) 99 100 #---------------------------------------------------------------------------- 101 102 beolvasas01() #önálló parancs, olyan mintha a Pythont megtanítottuk volna vmire 103 beolvasas02() 104 beolvasas03() 105 beolvasas04() 106