Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2010 13:50:00

solyony
От:
Зарегистрирован: 2010-12-01
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вводом с файла

f = open(“matrix.txt”,“r”)
n = int(f.readline())
for h in xrange(n):

файл имеет вид:
число число
число число
число число
….


выдает ошибку
ValueError: invalid literal for int() with base 10:

почему это может быть??



Офлайн

#2 Дек. 3, 2010 13:59:16

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблема с вводом с файла

solyony
выдает ошибку
ValueError: invalid literal for int() with base 10:
Это значит, что вы пытаетесь сконвертировать в целое число строку, которая не является числом. Неочевидные с первого взгляда вещи:
1. Где-то затесался пробел
2. Где-то затесалась пустая строка, например, в конце файла стоит перевод строки.



Офлайн

#3 Дек. 3, 2010 14:03:17

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Проблема с вводом с файла

очевидно потому что, в строке у Вас два числа



Офлайн

#4 Дек. 3, 2010 14:22:51

solyony
От:
Зарегистрирован: 2010-12-01
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вводом с файла

Простите, это я затупил((



Офлайн

#5 Дек. 3, 2010 19:39:57

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вводом с файла

Можно использовать на прочитанной строке .split() а затем уже по полученному списку пройтись и каждый элемент спокойно сконвертировать в число.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version