TypeError: takes 1 positional argument but 2 were given
Question:
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
Answers:
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))
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))
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 = hours_traveled * 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 = hours_traveled * 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)))
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))
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))
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 = hours_traveled * 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 = hours_traveled * 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)))