Я работаю над небольшой игрой, чтобы поработать над моими навыками Python.Как вы можете видеть ниже, я застрял при продолжении программы после того, как пользователь введет ошибочное значение.
Одна из вещей, которые я попробовал, это избавиться от цикла while и обернуть оператор if в рекурсивную функцию.Тем не менее, я не уверен, что это правильный путь, и сейчас он выше моего уровня.Любые мысли будут очень приветствоваться!
print("Greetings, weary wanderer.")
print("Welcome to Freyjaberg. Choose your weapon.")
#user able to select from list, needs input and to check which they pick
weapon_choice = (input("You can choose between three weapons to defeat the beast!"
" Press 1 for Axe, 2 for Crossbow, 3 for Sword."))
while True:
weapon_choice <= '4'
if weapon_choice=='1':
print("You chose the Axe of Might")
break
elif weapon_choice=='2':
print("You chose the Sacred Crossbow")
break
elif weapon_choice=='3':
print("You chose the Elven Sword")
break
else:
weapon_choice >= '4'
print("Wanderer, there is no such weapon. Please choose from the ones available.")
input("You can choose between three weapons to defeat the beast! "
"Press 1 for Axe, 2 for Crossbow, 3 for Sword.")
Если я введу 1, 2 или 3, это прекрасно работает!
Greetings, weary wanderer.
Welcome to Freyjaberg. Choose your weapon.
You can choose between three weapons to defeat the beast! Press 1 for Axe, 2 for Crossbow, 3 for Sword.2
You chose the Sacred Crossbow
Now you must enter the first dungeon. Prepare yourself!
Process finished with exit code 0
Если я введу 4 или выше, это действительно показывает правосообщение об ошибке я ожидаю.Все идет нормально.Затем он снова подсказывает мне (как и ожидалось).Но когда я набираю 1, 2 или 3 сейчас, он не понимает и продолжает.Он просто говорит мне, что это неправильно.
Greetings, weary wanderer.
Welcome to Freyjaberg. Choose your weapon.
You can choose between three weapons to defeat the beast! Press 1 for Axe, 2 for Crossbow, 3 for Sword.4
Wanderer, there is no such weapon. Please choose from the ones available.
You can choose between three weapons to defeat the beast! Press 1 for Axe, 2 for Crossbow, 3 for Sword.1
Wanderer, there is no such weapon. Please choose from the ones available.
You can choose between three weapons to defeat the beast! Press 1 for Axe, 2 for Crossbow, 3 for Sword.