python-def-else语句不工作

python-def-else语句不工作,python,if-statement,function,Python,If Statement,Function,好的,我对这个很陌生,写了一个从英里到公里的简单单位转换程序,但是我的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:

好的,我对这个很陌生,写了一个从英里到公里的简单单位转换程序,但是我的
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:
语句有问题……但不确定,也不好奇


提前谢谢

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

if toScale.lower() == "K":
SHOULD BE
if toScale.lower() == "k":
但是试试这个:

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

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

if toScale.lower() == "K":
SHOULD BE
if toScale.lower() == "k":
但是试试这个:

if toScale in ["K", "k"]:
toScale.lower()。因此,考虑使用<代码>如果toSCAL.LUVER()=“k”:或<代码>如果toCale.UpServer(=)“k”:./P>> p>您使用的是>LUVER()/<代码>,但与大写字符比较。因此,考虑使用<代码>如果toSCALE.LUVER()=“k”:“toCale.UpFor”=“k”:<代码> toSCALE。并将其与大写字母K进行比较。这永远是错误的。