在函数中传递两个输出参数

时间:2017-06-27 18:47:01

标签: python if-statement return

我试图让人口密度公式起作用,用户输入人口,面积和面积的平方单位(km vs mi)。当用户输入负数或人口或区域,或输入不是“mi”或“km”的单位时,将打印错误。这两个错误都会打印唯一的错误消息(请参阅下面的代码),但它们也会传递输出参数“-1” 如果两个错误都没发生,我想将密度值作为输出参数传递。

但我无法弄清楚如何在函数中多次传递一个return语句,因为该函数在第一次返回后终止。

def pop_density(pop,land_area,distance_unit):
    density = float(pop)/land_area
    if not distance_unit == "mi" or distance_unit == "km":
        print "ERROR (Invalid Units)"
        return "-1" 

    if pop < 0 or land_area < 0:
        print "ERROR (Invalid Number)"
        return "-1" 

    return density

1 个答案:

答案 0 :(得分:0)

退回到来电者后,您无法恢复功能。

但是,您可以将多个值作为tuple返回。

例如。 return DESTINY, -1那会奏效。