如果用户选择不输入任何参数,有没有办法让我的函数只打印两个小数位的 pi?下面的函数接受一个参数(即“n”),如果用户选择将该字段留空,该参数又会返回一个错误:
def pi(n):
pi_input = round(math.pi, n)
# None is unfruitful here, I just wanna emphasize my desired objective
if n <= 1 or n == None:
return pi(2)
elif n > 15:
print("Too many decimal places.")
return math.pi
else:
return pi_input
期望的结果应如下所示:
>>> pi()
3.14
我想知道是否有办法以某种方式使函数短路,因此该函数不一定需要输入。如果没有,我不介意对代码进行更智能的重写。我非常感谢所有的帮助!
只需向您的函数添加一个默认参数,以便在n
未提供任何内容时将变量设置为 2。
def pi(n: int = 2):
pi_input = round(math.pi, n)
if n > 15:
print("Too many decimal places.")
return math.pi
else:
return pi_input
或者干脆:
def pi(n: int = 2):
return round(math.pi, n)
这将产生:
>> result = pi()
>> print(result)
3.14
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句