正在处理一个具有4个值的函数,将其舍入为2,并显示它们的状态。
def show_status(altitude,speed,fuel,strength):
'''
consumes altitude, speed, fuel, strength, prints lander's status
Parameters:
altitude (float)
speed (float)
fuel (int)
strength (int)
return:
statusalt (float)
statusspeed (float)
statusfuel (int)
statusstrength (int)
'''
statusalt=float(altitude)
statusspeed = float(speed)
statusfuel = int(fuel)
statusstrength = int(strength)
return statusalt
return statusspeed
return statusfuel
return statusstrength
print ("Alt = ",statusalt," Vel = ",statusspeed," Fuel = ",statusfuel," Str = ",statusstrength)
show_status(12,34,56,78)
给予
12.0
我已经为此工作了几个小时。不知道我在做什么错。只是打印高度值。
答案 0 :(得分:1)
这是因为在第一个return
语句之后,该函数的其余部分将不会执行。如果要正确返回此值以在字符串中使用它,则应将其作为元组返回:
return (statusalt, statusspeed, statusfuel, statusstrength)
然后您可以编写:
print ("Alt = %d Vel = %d Fuel = %d Str = %d" %(show_status(12,34,56,78)))
答案 1 :(得分:0)
当函数到达返回命令时,它将返回值并退出该函数。 如果要返回一些值,则必须一行完成
return statusalt, statusspeed, statusfuel, statusstrength
这将返回一个元组
答案 2 :(得分:0)
您应该使函数以元组的形式返回四种状态,并使调用者将元组解压缩为4个变量并打印出来:
def show_status(altitude,speed,fuel,strength):
'''
consumes altitude, speed, fuel, strength, prints lander's status
Parameters:
altitude (float)
speed (float)
fuel (int)
strength (int)
return:
statusalt (float)
statusspeed (float)
statusfuel (int)
statusstrength (int)
'''
statusalt=float(altitude)
statusspeed = float(speed)
statusfuel = int(fuel)
statusstrength = int(strength)
return statusalt, statusspeed, statusfuel, statusstrength
statusalt, statusspeed, statusfuel, statusstrength = show_status(12,34,56,78)
print ("Alt = ",statusalt," Vel = ",statusspeed," Fuel = ",statusfuel," Str = ",statusstrength)