Как сделать так, чтоб когда ввел неправильную команду скрипт не останавливался а просил ввести еще раз?
Вот скрипт:
n1 = input("Скажите 'scub': ")
if n1 == 'Привет SCUB' or 'старт' or 'scub' :
n2 = input("Здравствуйте, это SCUB - Special Custom Unified Bot. Скажите 'help' чтобы посмотреть полный список команд: ")
if n2 == 'help':
print("Полный список команд доступных в SCUB v0.1:")
print("help")
print("calc +,-,*,/)")
n2 = input("Введите команду: ")
Надо чтобы если я неправильно введу команду скрипт не останавливался а возвращался к n2 = input("Введите команду: "). При том чтобы правильно введённая команда выполняла свой скрипт.
n1 == 'Привет SCUB' or 'старт' or 'scub' :
Это НЕ работает так как ты этого ожидаешь.
Так как все строки не пустые, 'Привет SCUB' or 'старт' or 'scub' вычислится в 'Привет SCUB', так что условие будет эквивалентом n1 == 'Привет SCUB'
antiqous,
while n2 != '': - цикл прервётся тогда и только тогда, когда пользователь ввёл пустую строку.
Дальше у тебя пачка if внутри цикла, из которых выполнится только один
Простейший, но не самый аккуратный способ - использовать операторы continue и break.
Внутри тела каждого if в конце дописать continue - это заставит цикл перейти на следующую итерацию, т.е. "перезапустит" тело цикла.
А в конце тела цикла, после всех if, прописать break - это прервёт цикл.
Управление дойдёт до break только если ни один if не выполнился - т.е. если команда не распознана.