Не могу понять где не работает код python
Вот код:
print('Привет! Вообщем, хочешь пройти викторину с вопросами про Новый Год?')
a = input()
while a == ('да') or ('Да') or ('Хорошо') or ('хорошо'):
print('хорошо, вот первый вопрос. Год в котором появился Санта Клаус?')
a = input()
break
else:
print('ну как хочешь')
quit()
while a == ('1931'):
print('хорош, ну тогда скажи, где живёт Дед Мороз?')
a = input()
break
else:
print('не, не а')
quit()
while a == ('в Великом Устюге') or ('Великий Устюг') or ('великий устюг'):
print('Правильно, следуйщий вопрос, когда И.В.Сталин вернул празнование нового года?')
a = input()
break
else:
print('Прости, но нет.')
exit()
while a == ('1 января 1936') or ('1936') or ('1936 год'):
print('Да верно, следующий вопрос, в честь какого римского бога был назван январь?')
a = input()
break
else:
print('Прости, но нет')
quit()
while a == ('Янус') or ('янус') or ('Бог дверей "Янус"'):
print('Да верно, следующий вопрос, какая страна первая празднует новый год?')
print('Кирибати')
print('Новая Зеландия')
print('Австралия')
a = input()
break
else:
print('Прости, но нет')
quit()
while a == ('Кирибати') or ('кирибати'):
print('Да верно, следующий вопрос, по какому календарю наступает 1 января?')
a = input()
break
else:
print('Сорян, но это не так')
quit()
while a == ('По григорианскому календарю') or ('григорианский календарь') or ('по григорианскому') or ('по Григорианскому') :
print('да хорошо. Чтож у меня вопросы кончились так что ты докозал что ты готов к новому году.')
quit()
else:
print('не, не правильно')
quit()
Проблема в том, что когда вводишь не правильный ответ, то программа его считает правильный, пожалуйста помогите
Ваша проблема заключается в том, как вы используете условие в циклах `while`. Вы пишете, например, `while a == ('да') or ('Да')`, что всегда будет истинным, поскольку `'Да'` — это непустая строка, и Python всегда будет воспринимать её как истинное значение. Вместо этого вам нужно использовать полное условие для каждой проверки.
Вот исправленный пример кода:
```python
print('Привет! Вообщем, хочешь пройти викторину с вопросами про Новый Год?')
a = input()
if a in ['да', 'Да', 'Хорошо', 'хорошо']:
print('хорошо, вот первый вопрос. Год в котором появился Санта Клаус?')
a = input()
if a == '1931':
print('хорош, ну тогда скажи, где живёт Дед Мороз?')
a = input()
if a in ['в Великом Устюге', 'Великий Устюг', 'великий устюг']:
print('Правильно, следуйщий вопрос, когда И.В.Сталин вернул празнование нового года?')
a = input()
if a in ['1 января 1936', '1936', '1936 год']:
print('Да верно, следующий вопрос, в честь какого римского бога был назван январь?')
a = input()
if a in ['Янус', 'янус', 'Бог дверей "Янус"']:
print('Да верно, следующий вопрос, какая страна первая празднует новый год?')
print('Кирибати')
print('Новая Зеландия')
print('Австралия')
a = input()
if a in ['Кирибати', 'кирибати']:
print('Да верно, следующий вопрос, по какому календарю наступает 1 января?')
a = input()
if a in ['По григорианскому календарю', 'григорианский календарь', 'по григорианскому', 'по Григорианскому']:
print('да хорошо. Чтож у меня вопросы кончились так что ты доказал что ты готов к новому году.')
else:
print('не, не правильно')
else:
print('Прости, но нет')
else:
print('Прости, но нет.')
else:
print('не, не а')
else:
print('не, не а')
else:
print('ну как хочешь')
else:
print('ну как хочешь')
```
В этом исправленном коде используются вложенные `if` вместо `while`, что более логично для вашей задачи. Теперь программа проверяет каждую ответ отдельно и корректно обрабатывает неправильный ответ.
print('Привет! Вообщем, хочешь пройти викторину с вопросами про Новый Год?')
a=input()
if a.lower() not in('да','хорошо'):print('ну как хочешь');quit()
print('хорошо, вот первый вопрос. Год в котором появился Санта Клаус?')
a=input()
if a!='1931':print('не, не а');quit()
print('хорош, ну тогда скажи, где живёт Дед Мороз?')
a=input()
if a.lower() not in('в великом устюге','великий устюг'):print('Прости, но нет.');quit()
print('Правильно, следуйщий вопрос, когда И.В.Сталин вернул празнование нового года?')
a=input()
if a.lower() not in('1 января 1936','1936','1936 год'):print('Прости, но нет.');quit()
print('Да верно, следующий вопрос, в честь какого римского бога был назван январь?')
a=input()
if a.lower() not in('янус','бог дверей "янус"'):print('Прости, но нет');quit()
print('Да верно, следующий вопрос, какая страна первая празднует новый год?')
print('Кирибати')
print('Новая Зеландия')
print('Австралия')
a=input()
if a.lower()!='кирибати':print('Прости, но нет');quit()
print('Да верно, следующий вопрос, по какому календарю наступает 1 января?')
a=input()
if a.lower() not in('по григорианскому календарю','григорианский календарь','по григорианскому'):print('не, не правильно');quit()
print('да хорошо. Чтож у меня вопросы кончились так что ты докозал что ты готов к новому году.')