, немного оглядевшись, я до сих пор не пришел к выводу, почему следующий фрагмент python работает в IDLE, но не в терминале. Любая помощь будет оценена по достоинству.Python работает в IDLE, но не в терминале?
print("Hello User!")
request_list = ['']
while True:
greeting = input('')
if greeting.lower() == "hello":
print("Who is this?")
print("Welcome back " + input() +", what can I do for you?")
break
elif greeting.lower() != "hello":
print("Show some manners!")
Ошибка
Traceback (most recent call last):
File "courtney.py", line 23, in <module>
greeting = input('')
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
Ваш терминал, вероятно, использует Python 2, поэтому, когда вы используете 'input', он бросает' NameError'. Попробуйте запустить с помощью 'raw_input', Python 2 эквивалентен Python 3' input.' В Python 2 'input' является эквивалентом' eval (input()) 'в Python 3 –
@ juanpa.arrivillaga, вероятно, имеет лучшее предположение , Я просто запустил это в Python 3, и он, похоже, работал. Введите 'python -version' на терминале и посмотрите, будет ли он печатать 2. [something] вместо 3. [something] – Cody