Python初学者在这里尝试边做边学,这里我有两个函数'main','area'。
有两个参数的应该打印 y = math.pi *a*b
,没有两个参数的应该打印 x = math.pi *a**2
。在我的代码中,它当前是这样打印的“第一”(153.93804002589985,0.0)
第二个(78.5398163397483,62.83185307179586)”(为什么要打印这些0.0和78.5398163397483?),如何让它检查是否给定了一个参数来执行此操作,以及两个参数是否执行此操作
import math
def area(a,b=0):
y = math.pi *a*b
x = math.pi *a**2
return x,y
def main():
print("First", area(7))
print("Second", area(5, 4))
main()
函数返回一个元组,但函数的调用方不知道使用哪个值。相反,函数应该只返回一个或另一个值,具体取决于提供的输入。另外,我建议使用
None
作为b
的默认值,因为0
可能是一个有效值或者,您也可以使用三元
... if ... else ...
表示整个表达式或仅表示不同的部分:然后,输出将是公正的
如果我没弄错的话,你想要这样的东西:
输出为
如果未指定
b
,则将其设置为None
。然后在函数中进行测试它在原始示例中打印
(153.93804002589985, 0.0)
的原因是您使用return x,y
从函数返回一个元组(x, y)
相关问题 更多 >
编程相关推荐