简体   繁体   中英

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(). 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

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)))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM