@isusloff

ValueError: invalid literal for int() with base 10: '', что делать?

Вот часть кода:
with open('28128_A.txt', 'r') as f:
    n = int(f.readline())
    for i in range(n):
        a = int(f.readline())
        for i in range(n-1):
            b = int(f.readline())
            print(a, b)

6186f8ee3b9af302279145.png
Вот файл с числами, в первой строке число n - кол-во след чисел, мне нужно сравнить каждое число с каждым, чтобы найти такую сумму двух чисел, чтобы те делились на три, но вылетает ошибка, мне кажется что ''a'' после сравнения всех чисел b уходит в какую-то строку но куда и как и почему не понимаю.
Или может есть какой-то более простой вариант написания задачи?
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
f.readline() читает очередную строку файла. Посчитайте, сколько строк вы читаете в вашем коде (подсказка: больше, чем n)

Прочитайте все строки в список и потом уже сравнивайте, как хотите
Ответ написан
Комментировать
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Вводите в переменную и выводите ее на экран, чтобы было видно, что с ней не так.

Везде, где вы читаете из файла делайте:
l = f.readline()
print("The line is: \""+l+"\"")
n = int(l)


Тогда сразу станет очевидно, что не так с файлом или кодом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы