@Nolrox
Python-разработчик

Что делать если бот не отвечает на команду?

Делаю чат-бота с обучением.
Типо если он не знает какой-то команды, то он спрашивает что ему отвечать, и если эту команду написать потом, то он ответит то, что я ему сказал.
cmds = []

ans = []

inp = input()

ln = len(cmds)

while inp == cmds:
	f = cmds.index(inp)
	print(f'{ans[f]}')
	inp = input()
else:
	print('Я не знаю этой команды. Что мне отвечать?')
	otv = input()
	cmds.insert(ln, inp)
	ans.insert(ln, otv)
	inp = input()

И если я ввожу что ему отвечать, и потом ввожу эту команду, то процесс программы просто заканчивается, и никаких ошибок даже не выводит. Что делать?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Судя по коду, ты вообще не понимаешь, что написал.

inp будет содержать строку, введённую с клавиатуры, cmds - пустой список

Дальше проверяется inp == cmds. Очевидно, что пустой список никогда не равен строке, поэтому мы сразу попадаем в else и один раз выполнем этот блок, после этого программа автоматически хавершается.

Возьми любой учебник по Python (например, Лутца) и изучи основы. Без понимания базовых вещей вообще ничего осмысленного ты никогда не напишешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы