[英]python - def - else statement not working
好的,我對此很陌生,編寫了一個簡單的單位轉換程序,從英里到公里,但是我的else
語句似乎不起作用。
內容如下:
def kmtoMil(dist):
return (dist / 0.62137)
def miltoKm(dist):
return (dist * 0.62137)
def convert(dist, toScale):
if toScale.lower() == "K":
return miltoKm(dist)
else:
return kmtoMil(dist)
print ("Enter a distance: ")
dist = int(input())
print ("Choose unit to convert to: ")
scale = input()
convertDist = convert(dist, scale)
print (dist, convertDist, scale)
它似乎應用了第一個定義(我可以在第9和11行上互換kmtoMil和miltoKm,而第9行似乎需要),但沒有應用第二個。 我希望這是有道理的。
我在想別的問題else:
陳述...但是不確定和好奇。
提前致謝!
你有一個臭蟲家伙,這很簡單
if toScale.lower() == "K":
SHOULD BE
if toScale.lower() == "k":
但是嘗試一下:
if toScale in ["K", "k"]:
您正在使用lower()
但要與大寫字符進行比較。 因此,請考慮使用if toScale.lower() == "k":
或if toScale.upper() == "K":
將toScale.lower() == "K"
更改為toScale.lower() == "k"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.