EOFError on input () - PullRequest
       30

EOFError on input ()

0 голосов
/ 26 июня 2018

Я нашел этот код, и я пытаюсь использовать его на Python 3, но он не работает на IDE geeks

list=input('racecar:')

if (list==list[::-1]):
    print ("It is a palindrome")
else:
   print("it is not palindrome")

Я получаю:

list = input ('racecar:') EOFError: EOF при чтении строки

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Вы хотите использовать input для принятия ввода пользователя, но, возможно, не предоставляете его в свой сценарий.

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

test_values = [
    "non-palindrome",
    "123321",
]

def palindrometest(s):
    return s == s[::-1]

for value in test_values:
    if palindrometest(value):
        print("{} is a palindrome".format(value))
    else:
        print("{} is not a palindrome".format(value))

Как только у вас все получится, попробуйте input в самом скрипте, чтобы получить хорошее представление о том, как он работает.

s = input("please provide a value: ")
print("user provided '{}'!".format(s))
0 голосов
/ 26 июня 2018

EOFError: EOF when reading line может произойти во время input вызова, только если stdin недоступен или был внезапно закрыт во время вызова

Поскольку вы упомянули, что используете его из geeks IDE Я предполагаю, что он не перенаправлен stdin для пользовательского ввода

Пожалуйста, попробуйте запустить код в интерактивном режиме на терминале, используя cmd python <file>

0 голосов
/ 26 июня 2018

Это происходит потому, что вы, вероятно, используете Python 2.7. Я только что протестировал ваш код на Python 3.6, и он работал нормально (я изменил ваш список переменных на lis).

...