не выводится выбор через оператора "or"
Я попыталась сделать программу, которая будет определять время года по месяцу, но в итоге оператор 'or' выводит только зиму
print('Хотите узнать какое сейчас время года?\n"Да" или "Нет"?\n')
select = input()
if select.lower() == 'да':
print('Введите месяц: ')
select2 = input()
if select2.lower == 'Декабрь' or 'Янаварь' or 'Февраль':
print('Сейчас время года: Зима')
elif select2.lower == 'Май' or 'Апрель' or 'Март':
print('Сейчас время года: Весна')
elif select2.lower == 'Август' or 'Июль' or 'Июнь':
print('Сейчас время года: Лето')
elif select2.lower == 'Сентябрь' or 'Октябрь' or 'Ноябрь':
print('Сейчас время года: Осень')
elif select.lower() == 'нет':
print('Хорошо')
Ответы (3 шт):
Автор решения: Igor
→ Ссылка
if select2.lower() == 'декабрь' or select2.lower() == 'январь' or select2.lower() == 'февраль':
"Сеньтябрь" - ??
Не думаю, что print возвращает что-то полезное.
Автор решения: becouse
→ Ссылка
Как правильно отметили вы не верно создали сложное условие.
Могу рекомендовать не использовать каскад условий, это затрудняет и модификацию кода и его чтение. Если у вас в простой задаче более трех вложений условий, значит что-то пошло не так)
В вашем случае четыре отдельных условных оператора ни чуть не хуже.
Можно создать словарь:
m_to_season={ 'январь' :'зима', 'февраль' :'зима', 'март' :'весна', 'апрель' :'весна', 'май' :'весна', 'июнь' :'лето' ,'июль' :'лето', 'август' :'лето', 'сентябрь' :'осень', 'октябрь' :'осень', 'ноябрь' :'осень', 'декабрь' :'зима'}
print('Введите месяц: ')
select2 = input()
if select2.lower() in m_to_season.keys():
print(m_to_season[select2.lower()])
else:
print('none')