定义的论证似乎没有火

时间:2017-09-20 05:18:13

标签: python

请注意我对Python世界很陌生。

我一直在寻找网上的答案,似乎找不到合适的解决方案,根据我的理解,我认为逻辑是正确的。最后,虽然我的结果不存在。

我正在使用Idle进行编译。

解决方案的要点:是从控制台获取公斤的字符串值。然后将其转换为Miles,然后输出字符串。

似乎很简单,但一遍又一遍地调试下面的代码我似乎无法弄清楚为什么在输入我的公里数后,转换值的打印永远不会显示。

def main(distanceMile=None):
# Declare and initialize variables
# string called distancekilo
distanceKilo = ""
# distancemile = ""
# conversion = 0.6214

# Introduction       
print("Welcome to the distance converter \n")

# Prompt for distance in Kilometers
distanceKilo = input("Enter distance in Kilometers: ")

# Default Argument
def calcConvert(value):
    conversion = 0.6214
    distanceMile = int(value) * conversion
return distanceMile

calcConvert(distanceKilo)
print("That distance in miles is ", distanceMile)

我只想知道我在哪里出错?

1 个答案:

答案 0 :(得分:1)

您的代码有三个主要错误。一个是calcConvert末尾的缩进(return应缩进)。另一个原因是顶部的main定义似乎没有做任何事情。另一个是您要将calcConvert(distanceKilo)保存到变量。此代码有效:

# Introduction
print("Welcome to the distance converter \n")

# Prompt for distance in Kilometers
distanceKilo = input("Enter distance in Kilometers: ")

# Default Argument
def calcConvert(value):
    conversion = 0.6214
    distanceMile = int(value) * conversion
    return distanceMile

distanceMile = calcConvert(distanceKilo)
print("That distance in miles is ", distanceMile)

如果您是Python的新手,我建议您阅读一些帖子和文章,了解人们通常在Python中设置代码的方式(例如calc_convert vs calcConvert):)它&#39 ;并非完全必要,但它使其他Python用户更容易阅读您的代码。