【发布时间】: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