在函数中混淆参数

时间:2017-07-12 20:55:37

标签: python function arguments

我对Python很陌生并且多次沮丧(猜测这很常见)。在这里,我尝试使用两个用户输入(英里和加仑)并打印出(每加仑英里数)的结果。

def final():
    def miles_per_gallons_calculation(miles, gallons,mpg):
        mpg=miles/gallons
        return str(mpg)+" miles per gallons"

    def user_input():
        miles = input("Miles?: ")
        gallons = input("Gallons?: ")
        float(miles)
        int(gallons)
        return miles
        return gallons
    user_input()
    miles_per_gallons_calculation()
final()

我收到错误" input()不带参数(给定1个)"但我没有提出任何论据!我尝试过(而不是放入)参数,但我一直在收到错误。你能看看并添加函数的参数吗?

更新:好的,我改变了你们建议的功能名称以避免错误。但我仍然无法调用该函数" miles_per_gallons_calculation"功能。由于第二个函数接受第一个函数的输出,所以当调用第二个函数时,我放入(或不放入)的参数是什么? (我得到的错误是" miles_per_gallons_calculations接受2个参数(0给定)")

2 个答案:

答案 0 :(得分:0)

您正在覆盖输入功能,这就是您收到错误的原因。将def input():更改为def my_input():之类的内容。这将消除您在代码中的名称冲突。

答案 1 :(得分:0)

这是因为您已调用内部函数input。你的内部input函数会覆盖内置函数,因为它不带任何参数,所以会出现这个错误。只需将其重命名为其他内容即可。