2016-05-17 5 views
1

Я делаю программу для демонстрации различных типов графиков с использованием matplotlib, и у меня возникает проблема с пользовательским вводом.Ошибка входной строки EOF

Моя программа работает с тех пор, как я ее создал, но когда я запустил ее сегодня при запуске, я получаю сообщение об ошибке, и я просто не могу понять, почему.

Вот код, который бросает ошибку

if options == 0: 
      fileX = input("Enter the file of x coordinates > ") 
      fileY = input("Enter the file of y coordinates > ") 
      title = input("Enter title for the graph > ") 
      xlabel = input("Enter a name for the x-axis > ") 
      ylabel = input("Enter a name for the y-axis > ") 
      g.linegraph(title, xlabel, ylabel, fileX, fileY) 

здесь ошибка (имена моих файлов являются 10int1 и 10int2)

Traceback (most recent call last): 
    File "/home/sam/Documents/GraphDemo/src/GraphDemo.py", line 25, in <module> 
    fileX = input("Enter the file of x coordinates > ") 
    File "<string>", line 1 
    10int1 
     ^
SyntaxError: unexpected EOF while parsing 

может кто-то поможет объяснить, почему эту ошибку бросается? До сих пор это работало. Я пробовал разные файлы и разные способы ввода, но каждый раз получаю одну и ту же ошибку.

ответ

1

Вы используете Python 2.7?

Если да, то input пытается оценить ввод как выражение Python. Когда вы вводите 10int1 в качестве ввода, он пытается оценить это как строку, которой она не является - нет кавычек открытия/закрытия.

Вместо этого вы должны использовать raw_input, который просто возвращает строку (не пытаясь оценить). Затем вы должны преобразовать этот ввод в целое число или любой другой тип, который вам нужен.

+0

Это сработало, но затем я получил еще одну ошибку, потому что я удалил 'self' из' def linegraph (self, title, xlabel, ylabel, fileX, fileY): 'и тогда он снова переставал работать, когда я читал' self', чтобы исправить ошибка – sbowde4

+1

Не забывайте вышеприведенный комментарий. Я просто очистил код, и он работал – sbowde4

Смежные вопросы