Помогите с питоном, не работает if else
В питоне не работает конструкция if else, подскажите пожалуйста
colors = ["синий", "зеленый", "желтый"]
x = input("Угадайте цвет:")
while x in colors:
if x in colors:
print("Поздравляем, вы угадали!")
break
else:
x = input("Неправильно, попробуйте еще:")
Ответы (3 шт):
Эта конструкция в питоне, конечно, работает. А ошиблись вы в логике, написав условие while. Вероятно, должно быть while True:
Разумѣется, ошибка въ Python! Языкъ существуетъ болѣе тридцати лѣтъ, и всё это время никто не замѣчалъ ошибки въ одной изъ базовыхъ конструкцій языка. Какъ хорошо, что нашёлся человѣкъ, который открылъ нам всѣмъ глаза! Опозоренный Гвидо ванъ Россумъ тихо плачетъ въ углу. Крупныя, как крыжовникъ, слёзы скатываются въ его сѣдую бороду.
Кстати, а зачѣмъ здѣсь вообще if-else? Я бы обошёлся безъ else, и даже безъ if.
c = "синій зелёный жёлтый".split()
s = "Угадайте цвѣтъ: "
while input(s) not in c:
s = "Неправильно, попробуйте ещё: "
print("Поздравляемъ, Вы угадали!")
На будущее очень рекомендую прочитать эту статью — https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/ru/thing_61/
Пиши бесконечный цикл while True, то есть:
while True:
if x in colors:
print("Угадали!")
else:
print("Не угадали, пробуйте ещё")
x=input()