Я простую функцию python, которая принимает два входа и выводит некоторый текст.Простая функция Python
Здесь,
def weather():
israining_str=input("Is it raining (1 or 0) ? ")
israining = bool(israining_str)
temp_str=input("What is the temp ? ")
temp = float(temp_str)
if israining==True and temp<18:
return "Umbrella & Sweater"
elif israining==True and temp>=18:
return "Umbrella"
elif israining==False and temp<18:
return "Sweater"
else:
return "Cap"
Тестовые данные -
>>>
Is it raining ? 0
What is the temp ? 43
Umbrella
>>> ================================ RESTART ================================
>>>
Is it raining ? 1
What is the temp ? 43
Umbrella
>>>
Если дождь ложна это саван дают Sweater
или Cap
. Но мой код дает истинное значение даже israining_str == 0
или israining_str == 1
Где я делаю неправильно?
питона версии? –
Комментарий, тестирование непосредственно для значений bool по сравнению с True или False не очень хороший стиль, поскольку вы можете написать «if israining:». с эквивалентным значением «если bool (israining) == True:» - но будет короче и яснее. (также вы должны написать «если не учить:» в третьей ветке) –
@AshwiniChaudhary 3.x – ChamingaD