Найти - Пользователи
Полная версия: Проблема с инструкцией if
Начало » Python для новичков » Проблема с инструкцией if
1
kun_kun
 name = input("Ваше имя: ")
age = int(input("Ваш возраст: "))
print("Выберите класс из предложенных: Маг, Воин, Лучник")
sleep(2.5)
cl = str(input())
while True:
	if cl != ["Маг", "Воин", "Лучник"]:
		print("Такого класса не существует в игре, выберите существующие:")
		print("Маг, Воин, Лучник")
		cl = str(input())
	else:
		break

Вот, в общем то код, я не могу понять, почему в моменте с if он просто не видит, что в переменной записан текст. Помогите решить проблему, пожалуйста
kun_kun
Я скинул скрин, где в цикле видно, что команда if просто не видит текст, который записан в переменной
AD0DE412
ну как то так (не проверено)
 name = input("Ваше имя: ")
age = int(input("Ваш возраст: "))
print("Выберите класс из предложенных: Маг, Воин, Лучник")
# надеюсь sleep у вас гдето раньше импортирован / объявлен
sleep(2.5)
cl = str(input())
while True:
	if cl in ["Маг", "Воин", "Лучник"]:
               break
	else:
		print("Такого класса не существует в игре, выберите существующие:")
		print("Маг, Воин, Лучник")
		cl = str(input())
doza_and
kun_kun
if он просто не видит
Вы зря наделяете if человеческими качествами, у него нет глаз, он ничего видеть не может, все происходит ровно так, как написано в документации раздел 6.10:
https://docs.python.org/3/reference/expressions.html
Если коротко то строка списку никогда не равна.
Рекомендую также
https://docs.python.org/3/library/functions.html#input
Поскольку код содержит бесполезный str
может вам будет полезно и интересно порисовать перед реализацией кода
https://en.wikipedia.org/wiki/Control-flow_diagram
kun_kun
AD0DE412
ну как то так (не проверено)
Благодарю за помощь, спасибо.
Я ваши советы учту
doza_and
AD0DE412
ну как то так
:( Ну вы же опытный воин!!!
# Зачем тут спать?? пользователя нервировать? те черный экран и на ввод не реагируем??
# sleep(2.5)
#cl = str(input()) Зачем это два раза городить???
variants = ["Маг", "Воин", "Лучник"]:
while True:
cl = input(f"напечатайте одно из {variants}")
if cl in variants:
break
AD0DE412
да настроение какое то пришибленное .. а так да .. хочешь помочь - помогай правильно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB