【问题标题】:Passing two output parameters in a function在函数中传递两个输出参数
【发布时间】:2026-01-12 03:05:01
【问题描述】:

我正在尝试使人口密度公式起作用,其中用户输入人口、面积和面积的平方单位(km 与 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

【问题讨论】:

  • 函数的执行在返回后终止。类似于在循环中中断
  • 使用 == 比较和 = 赋值!以错字结尾。

标签: python if-statement return


【解决方案1】:

一旦将函数返回给调用者,您将无法返回函数。

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

例如。 return DESTINY, -1 可以。

【讨论】: