Форум » Обработка символьных строк » N 24 Задача 146 » Ответить

N 24 Задача 146

Andreyka009: [pre2] s = open('24-j8.txt').read() count = 1 maxcount = 0 for i in range (0,len(s)-1): a = s[ i] b = s[ i+1] c = int(a)+int(b) if c>=10: count+=1 if count >= maxcount: maxcount = count else: count = 1 print(maxcount)][/pre2] Вот мой код. Когда создаю свой текстовый файл с цифрами, программа работает и выдает правильный результат. Однако с файлом 24-j8.txt выходит ошибка : c = int(a)+int(b) ValueError: invalid literal for int() with base 10: '\n' Возможно, я неправильно преобразовываю символ из строки в тип int... Но ведь с моим файлом программа работает нормально. В чем может быть причина?

Ответов - 1

Поляков: Andreyka009 пишет: ValueError: invalid literal for int() with base 10: '\n' В конце файла стоит символ перевода строки '\n', который нельзя преобразовать в целое число. Его нужно обрезать, вызвав метод strip(): [pre2]s = open('24-j8.txt').read().strip() [/pre2]



полная версия страницы