简体   繁体   English

类型错误:需要 1 个位置参数,但给出了 2 个

[英]TypeError: takes 1 positional argument but 2 were given

Write a function so that the main program below can be replaced by the simpler code that calls function mph_and_minutes_to_miles().编写一个函数,以便下面的主程序可以被调用函数 mph_and_minutes_to_miles() 的更简单的代码替换。 Original main program:原主程序:

miles_per_hour = float(input())
minutes_traveled = float(input())
hours_traveled = minutes_traveled / 60.0
miles_traveled = hours_traveled * miles_per_hour

print('Miles: %f' % miles_traveled)

That is the problem.那就是问题所在。

def mph_and_minutes_to_miles(miles_per_hour, minutes_traveled):
    minutes_traveled = float(input())
    hours_traveled = minutes_traveled / 60
    miles = (minutes_traveled / 60) * miles_per_hour

miles_per_hour = float(input())
minutes_traveled = float(input())

print('Miles: %f' % mph_and_minutes_to_miles(miles_per_hour, minutes_traveled))

TypeError: must be real number, not NoneType类型错误:必须是实数,而不是 NoneType

You have two options here, just replace ONLY ONE of the following您在这里有两个选择,只需替换以下选项中的一个即可

def mph_and_minutes_to_miles(miles_per_hour, minutes_traveled):

or或者

print('Miles: %f' % mph_and_minutes_to_miles(miles_per_hour))

Adding this function instead of the one you had defined in your question, should fix your error.添加此函数而不是您在问题中定义的函数,应该可以解决您的错误。

def mph_and_minutes_to_miles(miles_per_hour, minuted_traveled):
    hours_traveled = minutes_traveled / 60
    miles = (minutes_traveled / 60) * miles_per_hour
    return miles

So the total code would look like:所以总代码看起来像:

def mph_and_minutes_to_miles(miles_per_hour, minuted_traveled):
    hours_traveled = minutes_traveled / 60
    miles = (minutes_traveled / 60) * miles_per_hour
    return miles

miles_per_hour = float(input())
minutes_traveled = float(input())

print('Miles: %f' % mph_and_minutes_to_miles(miles_per_hour, minutes_traveled))
def mph_and_minutes_to_miles(miles_per_hour, minuted_traveled):
    
    hours_traveled = minutes_traveled / 60
    miles = (minutes_traveled / 60) * miles_per_hour
    return miles

miles_per_hour = float(input())
minutes_traveled = float(input())

print('Miles: %f' % mph_and_minutes_to_miles(miles_per_hour, minutes_traveled))
def mph_and_minutes_to_miles(miles_per_hour, minutes_traveled):
    hours = minutes_traveled / 60.0
    miles = hours * miles_per_hour

    return miles

miles_per_hour = float(input())
minutes_traveled = float(input())

print('Miles: {:f}'.format(mph_and_minutes_to_miles(miles_per_hour, minutes_traveled)))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TypeError:parse()接受1个位置参数,但给出了6个 - TypeError: parse() takes 1 positional argument but 6 were given TypeError:get()接受1个位置参数,但给出了3个 - TypeError: get() takes 1 positional argument but 3 were given TypeError:method() 接受 1 个位置参数,但给出了 2 个 - TypeError: method() takes 1 positional argument but 2 were given 类型错误:equals() 接受 1 个位置参数,但给出了 2 个 - TypeError: equals() takes 1 positional argument but 2 were given TypeError: post() 接受 1 个位置参数,但给出了 2 个 - TypeError: post() takes 1 positional argument but 2 were given 类型错误:wrapper() 采用 1 个位置参数,但给出了 2 个 - TypeError: wrapper() takes 1 positional argument but 2 were given TypeError:done()接受1个位置参数,但给出了2个 - TypeError: done() takes 1 positional argument but 2 were given TypeError:isnull()接受1个位置参数,但给出了2个 - TypeError: isnull() takes 1 positional argument but 2 were given TypeError: start() 接受 1 个位置参数,但给出了 2 个 - TypeError : start() takes 1 positional argument but 2 were given TypeError:melt() 接受 1 个位置参数,但给出了 2 个 - TypeError: melt() takes 1 positional argument but 2 were given
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM