Проблема с конструкцией if-elif-else
age = int(input("Сколько лет: "))
if age < 2:
msg = 'Младенец'
elif age >= 2 < 4:
msg = 'Малыш'
elif age >= 4 < 13:
msg = 'Ребёнок'
elif age >= 13 < 20:
msg = 'Подросток'
elif age >= 20 < 60:
msg = 'Взрослый'
elif age >= 60:
msg = 'Пожилой человек'
else:
print('None')
print(f'Тебе {age} лет и ты у нас {msg}!')
Решаю задачу по Python и не могу понять почему при указании возраста ответ постоянно с первого elif ,берется при любой цифре за исключением if если указать число < 2
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Потому что ваши elif на самом деле выглядят так:
(age >= 2) < 4
а age >= 2 это либо 1 либо 0 -> это всегда <4.
Вот так работать будет:
elif 2 <= age < 4:
или вот так:
elif age >= 2 and age < 4: