мой код Python работает не так, как предполагалось, и возвращает неправильные выходные данные

#python

#python

Вопрос:

 dacommandos = '!help'

actiontaken = input('what do you want to do: ')

if actiontaken == 'help':
    print(dacommandos)
else:
    print('no')
 

Всякий раз, когда я набираю «справка», он возвращает «нет», и всякий раз, когда я набираю что-либо еще, он возвращает, и ошибка с вводом не определена.

Комментарии:

1. В моем случае я не столкнулся с проблемами, как вы заявили. Код отлично работает для «справки», а для любых других строк он выводит «нет».

2. Вы используете Python 2? help — это встроенная функция; любой другой ввод, скорее всего, является неопределенной переменной. Используйте raw_input вместо этого (или прекратите использовать Python 2 и переключитесь на Python 3).

3. Я попробовал ваш код, и он отлично работает для меня

Ответ №1:

Сначала вам нужно запустить это в интерпретаторе. Поэтому перейдите в командную строку и введите python. Затем вы увидите>>>, что означает, что вы находитесь в интерпретаторе.

Затем введите каждую команду следующим образом:

 >>> dacommandos = '!help'
>>> actiontaken = input('what do you want to do: ')
what do you want to do: help
>>> if actiontaken == 'help':
...     print(dacommandos)
... else:
...     print('no')
... 
!help
 

Ответ №2:

Возможно, ваша система включает в строку возврат терминала. Попробуйте распечатать actiontaken, чтобы увидеть, что в нем, а также длину строки. Будьте осторожны с отступами, используя табуляцию и пробелы. В конечном итоге вы можете протестировать первые четыре символа в actiontaken == ‘help’ .