Metoda Pythonic do sumowania wszystkich nieparzystych linii w pliku
Uczę się Pythona na potrzeby testu umieszczenia w programie, który muszę wziąć na studia, i to jest dosłownie pierwszy mały skrypt, który rzuciłem razem, aby go wyczuć. Moje tło to głównie C # i PHP, ale nie mogę używać żadnego języka w teście.
Mój skrypt testowy czyta w poniższym pliku tekstowym (test_file1.txt). Linie parzyste zawierają rozmiar próbki, a linie nieparzyste zawierają „wyniki” dla każdego testu w próbce. EOF jest oznaczony 0. Chciałem wczytać plik, wygenerować wielkość próbki i zsumować wyniki każdego testu. Jak wykonasz to zadanie w Pythonie? Czuję, że próbowałem zmusić Pythona do bycia podobnym do PHP lub C #, a z moich badań wynika, że istnieją bardzo „Pythonowe” sposoby robienia thigs.
plik_testowy1.txt:
3
13 15 18
5
19 52 87 55 1
4
11 8 63 4
2
99 3
0
Mój prosty skrypt:
file = open("test_file1.txt", "r")
i=0
for line in file:
if i % 2 == 0:
#num is even
if line == '0':
#EOF
print 'End of experiment'
else:
#num is odd
numList = line.split( )
numList = [int(x) for x in numList]
print 'Sample size: ' + str(len(numList)) + ' Results: ' + str(sum(numList))
i += 1
file.close()
Moje wyniki:
Sample size: 3 Results: 46
Sample size: 5 Results: 214
Sample size: 4 Results: 86
Sample size: 2 Results: 102
End of experiment
Dzięki!