Я новичок в Python программировании. Недавно я решил создать Audio Assistant (в основном чат-бота со звуком), но я столкнулся с проблемой при попытке создать выходы. Я написал код таким образом, что, если то, что пользователь говорит / просит бот сделать, является чем-то, что не было определено для бота, или у него нет никаких команд относительно того, что делать, если задан этот конкретный аргумент c тогда это должно дать определенный c вывод. Код для этого выглядит следующим образом:
# to take input from the user:
command = input("Whatever you want to say: ")
command = command.lower()
cmd = command.split()
# below are the commands to give output after processing the input
if 'hi' in cmd:
print('hey')
elif (('how')and('are'))and('you') in cmd:
print('All good! Wbu?')
elif (('hi')and('hru')) in cmd:
print('Hey! Everyting is fine! Wbu?')
else:
print('sorry, did not understand what you meant!')
Проблема с приведенным выше кодом заключается в том, что, если пользователь говорит: (привет, hru?), Программа только говорит: эй. Это потому, что я использовал в программе выражения elif. Итак, я решил изменить все из них на операторы if:
if 'hi' in cmd:
print('hey')
if (('how')and('are'))and('you') in cmd:
print('All good! Wbu?')
if (('hi')and('hru')) in cmd:
print('Hey! Everyting is fine! Wbu?')
else:
print('sorry, did not understand what you meant!')
, что он делает, он хорошо печатает выходные данные, но если предполагается, что вывод любого другого оператора должен быть дан, он дает оператор, но также дает вывод для else.
Затем я попытался определить функцию для выходов, и если это True, то есть, если то, что пользователь говорит, имеет указанный вывод, то он должен дать вывод, если нет, тогда программа должна вывести исключение.
def commands():
if 'hi' in cmd:
print('hey')
if (('how')and('are'))and('you') in cmd:
print('All good! Wbu?')
if (('hi')and('hru')) in cmd:
print('Hey! Everyting is fine! Wbu?')
if commands()==True:
commands()
else:
print('sorry, did not understand what you meant!')
Это тоже как первое, печатает как оператор, так и исключение. Как мне это решить?