Почему здесь не правильный вывод?
Почему здесь при вводе 3, выводится "Опасная температура. Сильное переохлаждение, есть шанс смерти", а при 4 ничего не выводится
while True:
temp = input("Введи температуру тела: ")
if temp >= '35.8' and temp <= '36.9':
print("- Норма")
elif temp >= '37' and temp <= '37.1':
print("- Переутомление или начинаешь заболевать")
elif temp >= '37.2' and temp <= '39.9':
print("- Ты заболел(а)")
elif temp >= '40' and temp <= '42.9':
print("- Опасная температура! Сильный жар, есть шанс смерти")
elif temp >= '33' and temp <= '35.7':
print("- Переохлаждение")
elif temp >= '28' and temp <= '32.9':
print("- Опасная температура! Сильное переохлаждение, есть шанс смерти")
elif temp <= '27.9':
print("- Смерть 90%")
elif temp >= '43':
print("- Смерть 90%")
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
сделайте по человечески - сравнивайте с числами, а не строками
при сравнении строки со строкой надо знать правила лексического сравнения, зачем эта сложность?
while True:
temp = float(input("Введи температуру тела: "))
if temp >= 35.8 and temp <= 36.9:
print("- Норма")
кстати питон позволяет такие сравнения записывать проще:
if 35.8 <= temp <= 36.9:
и еще, раз работаете с числами, то не надо округлять до десятых, т.е. вместо
if temp >= 35.8 and temp <= 36.9:
print("- Норма")
elif temp >= 37 and temp <= 37.1:
print("- Переутомление или начинаешь заболевать")
лучше использовать одинаковые границы и неточное сравнение, т.е. код будет таким:
if 35.8 <= temp < 37.0:
print("- Норма")
elif 37.0 <= temp < 37.2:
print("- Переутомление или начинаешь заболевать")
что гораздо удобнее и опять же рассчитано на то, что пользователь может ввести и 36.99999
Автор решения: codik
→ Ссылка
Надо сравнивать с числами,а не со строкой. Вот правильный ответ:
while True:
temp = float(input("Введи температуру тела: "))
if temp >= 35.8 and temp <= 36.9:
print("- Норма")
elif temp >= 37 and temp <= 37.1:
print("- Переутомление или начинаешь заболевать")
elif temp >= 37.2 and temp <= 39.9:
print("- Ты заболел(а)")
elif temp >= 40 and temp <= 42.9:
print("- Опасная температура! Сильный жар, есть шанс смерти")
elif temp >= 33 and temp <= 35.7:
print("- Переохлаждение")
elif temp >= 28 and temp <= 32.9:
print("- Опасная температура! Сильное переохлаждение, есть шанс смерти") elif temp <= 27.9:
print("- Смерть 90%")
elif temp >= '43':
print("- Смерть 90%")