При вводе числа на первый вопрос получаю ошибку :NameError: name 'wozrast' is not defined
print("Привет! Это твой помощник")
print("Он сможет ответить на все твои вопросы")
print("Если хочешь задать вопрос, пиши)")
wopros1 = input()
if wopros1 == "какое время суток сейчас?":
print("Введите округлённое число!!!")
wopros = int(input())
if wopros <= 5 or wopros == 6:
print('Доброй ночи!')
elif wopros >= 7 and wopros <= 11:
print('Доброе утро!')
elif wopros >= 12 and wopros <= 17:
print('Добрый день!')
elif wopros >= 18 and wopros <= 22:
print('Добрый вечер!')
if wopros1 == "Расскажи сказку":
print("Детскую или взрослую?")
wozrast = input()
if wozrast == "взрослую":
print("Длинную или короткую?")
skazka = input()
if skazka == "Длинную":
print("В этот лес завороженный,")
print("По пушинкам серебра,")
print("Я с винтовкой заряженной")
print("На охоту шел вчера.")
print("По дорожке чистой, гладкой")
print("Я прошел, не наследил…")
print("Кто ж катался здесь украдкой?")
print("Кто здесь падал и ходил?")
print("Подойду, взгляну поближе:")
print("Хрупкий снег изломан весь.")
print("Здесь вот когти, дальше — лыжи…")
print("Кто-то странный бегал здесь.")
print("Кабы твердо знал я тайну")
print("Заколдованным речам,")
print("Я узнал бы хоть случайно,")
print("Кто здесь бродит по ночам.")
print("Из-за елки бы высокой")
print("Подсмотрел я на кругу:")
print("Кто глубокий след далекий")
print("Оставляет на снегу?..")
Ответы (1 шт):
Автор решения: nyekitka
→ Ссылка
Потому что у вас проблемы с табуляцией (по крайней мере в коде, который вы написали здесь). Как я понимаю вас интересует именно этот кусок кода:
if wopros1 == "Расскажи сказку":
print("Детскую или взрослую?")
wozrast = input()
if wozrast == "взрослую":
print("Длинную или короткую?")
skazka = input()
if skazka == "Длинную":
print("В этот лес завороженный,")
#etc
У вас получается так, что вы в блоке if wopros1 == "Расскажи сказку": спрашиваете wozrast, а потом выходите из этого блока, а переменной продолжаете пользоваться. Как это должно выглядеть на самом деле:
if wopros1 == "Расскажи сказку":
print("Детскую или взрослую?")
wozrast = input()
if wozrast == "взрослую":
print("Длинную или короткую?")
skazka = input()
if skazka == "Длинную":
print("В этот лес завороженный,")
#etc
И хотелось бы дать ещё пару советов (если они вам не нужны, можете пропустить):
- Вместо того, чтобы писать
print("Длинную или короткую?")
skazka = input()
можно написать:
skazka = input("Длинную или короткую?")
Не называйте переменные транслитом - плохой кодстайл. Лучше называть на английском языке, т.е. вместо
wopros-questionилиquery, вместоskazka-tale, вместоwozrast-age.Зачем вы пишете
if wopros <= 5 or wopros == 6:
если можно:
if wopros <= 6: