Python3:有没有办法让它在用户选择不输入参数时我的函数只打印两位小数?

一次性123

如果用户选择不输入任何参数,有没有办法让我的函数只打印两个小数位的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法在用户输入正确答案时自动提交表单?

有没有办法在用户注册时我必须批准/拒绝用户?节点.js

有没有办法我可以返回数据并提供其他参数,python3 @click

有没有办法让我的(下一步)按钮在用户每次点击时显示问题?

有没有办法在用户加入频道时获得时间?

有没有办法在用户点击 UITextview 中的单词时创建弹出框

有没有办法在用户使用 discord.py 登录时发送消息?

python 3中是否有办法使两个用户定义的函数只需要输入一次

有没有办法让python多次重复打印输入函数,同时仍然在python中得到答案?

有没有办法在用户输入错误的时候要求他/她提供新的输入?

有没有办法舍入我在函数poly.calc的系数中得到的小数?

有没有办法列出可用选项供用户在Dialogflow中选择和输入

有没有办法让用户选择要输入的变量?

有没有办法在matlab中根据用户输入比较两个数组

有没有办法在Python 3.6中以* args作为参数的函数中输入列表?

有没有办法将一对元组定义为函数的参数?我被这个“Python 3 不支持元组参数解包”所困扰

有没有办法使函数成为参数?

有没有办法通过两个函数传递可选参数?

有没有办法在按键(输入)时触发选择事件?

有没有办法两次从boto3 python lambda函数调用“ s3.Object()”

有没有办法在python中打印not bool?

有没有办法在输入 3 个字符后触发选择事件?

有没有办法在带有 Python3 的 Window 上使用 ROS?

有没有办法在python中更改用户的输入?

有没有办法可以保存用户输入然后在 python 中重用它?

将输入用作结果框时,有没有办法限制输入中的小数位数?

有没有办法在python中输入小写?

有没有办法在最新的Swift 3快照中使用C可变参数函数?

有没有办法在 Python 3 中快速打印和输出结果