You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何实现无参调用自定义pi函数时默认返回两位小数的圆周率

实现方案

直接给函数参数设置默认值即可,同时调整原有代码的逻辑顺序,避免未判断参数有效性就执行运算触发报错,修改后的完整代码如下:

import math

def pi(n=None):
    # 先判断参数状态,再执行运算
    if n is None or n <= 1:
        return round(math.pi, 2)
    elif n > 15:
        print("Too many decimal places.")
        return math.pi
    else:
        return round(math.pi, n)

修改说明

  • 给参数n设置默认值None,用户不传参数调用pi()时,参数会自动取默认值None,不会抛出参数缺失的错误
  • 调整了逻辑顺序:先判断参数有效性再执行round运算,避免n为None时直接调用round触发类型错误
  • 移除了原代码中不必要的递归调用,直接返回对应精度的计算结果,避免递归调用带来的额外性能开销

运行效果测试

>>> pi()
3.14
>>> pi(4)
3.1416
>>> pi(20)
Too many decimal places.
3.141592653589793

内容的提问来源于stack exchange,提问作者throwaway123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:21:04