python def else语句不工作

2024-09-30 10:34:43 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我对这个很陌生,写了一个从英里到公里的简单单位转换程序,但是我的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)

它似乎应用了第一个def(我可以在第9&11行交换kmtoMil&miltoKm,而第9行似乎采用了第二个def)。我希望这是有道理的。你知道吗

我认为else:语句有问题……但不确定也不好奇。你知道吗

提前谢谢!你知道吗


Tags: toconvertinputreturndistdef语句else
3条回答

您使用的是lower(),但与大写字符比较。所以考虑使用if toScale.lower() == "k":if toScale.upper() == "K":。你知道吗

你有个臭虫哥们。。。很简单

if toScale.lower() == "K":
SHOULD BE
if toScale.lower() == "k":

但试试这个:

if toScale in ["K", "k"]:

toScale.lower() == "K"更改为toScale.lower() == "k"

相关问题 更多 >

    热门问题