Я абсолютный новичок в области программирования. Я делаю упражнения из книги и кое-что я не понимаю.
Я использую команду readline () внутри функции, а затем запускаю цикл for в main (), чтобы найти наибольшее число в файле. Файл содержит список чисел в каждой строке: наибольшее число находится во второй строке, но по какой-то причине программа пропускает вторую строку (которая содержит наибольшее число). Это код:
def reader(filename):
nums = filename.readline()
return(nums)
def main():
filename = open("numbers.txt", 'r')
largest = reader(filename)
for line in filename:
number = reader(filename)
if number > largest:
largest = number
print("The largest number is:", largest)
main()
Но когда я помещаю readline () в функцию main () и изменяю параметр внутри цикла, все работает нормально:
def helper(filename):
nums = filename
return(nums)
def main():
filename = open("numbers.txt", 'r')
largest = helper(filename.readline())
for line in filename:
number = helper(line)
if number > largest:
largest = number
print("The largest number is:", largest)
main()
Очевидно, что я что-то упускаю, но я точно не знаю, что это такое.