我做了簡單的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
>>>
如果下雨爲false,壽衣給Sweater
或Cap
。但我的代碼給出了真正的,即使israining_str == 0
或israining_str == 1
我在哪裏做錯了?
Python版本? –
註釋,通過與True或False進行比較直接測試bool值不是一種很好的風格,因爲您可以編寫「if israining:」。與「如果bool(israining)==真:」的意義相同,但是更短更清晰。 (同樣你應該在第三個分支中寫上「如果不是israining:」) –
@AshwiniChaudhary 3.x – ChamingaD