[英]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.