Почему в коде возникает ошибка?

numbers = []

with open('../Files/27989_B.txt', 'r') as file1:
    n = int(file1.readline())
    print(n)
    line = int(file1.readline())
    while line:
        numbers.append(line)
        line = int(file1.readline())

############
20
Traceback (most recent call last):
  File "/home/ikol/PycharmProjects/HelloWorld/Programs/346.py", line 9, in <module>
    line = int(file1.readline())
ValueError: invalid literal for int() with base 10: ''

Добрый день. Одна и та же строчка кода (line = int(file1.readline())) ведет себя по разному в зависимости от положения в программе. Исходный файл состоит из чисел, в каждой строке по одному, в первой указывается их количество, получаю его в 'n'. Если не приводить значения к int, то в конце каждого числа появляется символ переноса строки. Поэтому использую такую конструкцию. Но если первые два раза код выполняется, то под циклом выдает ошибку ValueError. Отчего так?


Ответы (0 шт):