为什么我的函数只打印一个值

2024-09-30 01:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

处理一个函数,该函数接受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

我已经做了几个小时了。不知道我做错了什么。它只是打印高度值


Tags: 函数returnstatusshowfloatstrengthintspeed
3条回答

您应该让函数以元组的形式返回四种状态,并让调用者将元组解压成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)

当函数到达返回命令时,它返回值并退出函数。 如果要返回某些值,必须在一行中执行

return statusalt, statusspeed, statusfuel, statusstrength  

这将返回一个元组

这是因为在第一个return语句之后,函数的其余部分将不会被执行。如果要正确地返回该值以在字符串中使用它,则应将其作为元组返回:

return (statusalt, statusspeed, statusfuel, statusstrength)

然后你可以写:

print ("Alt = %d Vel = %d Fuel = %d Str = %d" %(show_status(12,34,56,78)))

相关问题 更多 >

    热门问题