python - 在 python 3.5.1 中混合关键字和默认参数

标签 python keyword default-value

我是一名新手,正在通过在线工作簿参加在线 Python 类(class)。我似乎无法弄清楚如何让输出像所示的示例一样显示:

问题说明: 编写一个函数 number_of_pennies(),在给定一定数量的美元和(可选)一定数量的便士的情况下返回便士的总数。例如:5 美元和 6 便士返回 506。

这是我所拥有的:

def number_of_pennies(dollars = (),pennies=())

    return number_of_pennies
print(number_of_pennies(5, 6)) # Should print 506
print(number_of_pennies(4))    # Should print 400

感谢您的帮助,我刚刚将其更改为:

def number_of_pennies(dollars = 0,pennies=0):
    number_of_pennies= (dollars * 100) + pennies
    return number_of_pennies
print(number_of_pennies(5, 6)) # Should print 506
print(number_of_pennies(4))    # Should print 400

最佳答案

当调用者未提供值时,将使用默认参数。那么,默认值应该是什么呢?就您而言,如果用户不提供美元,那么零美元似乎是一个合理的选择。与便士相同。自 number_of_pennies(4)应该是400你知道他们希望美元成为第一个参数。剩下的只是数学。

number_of_pennies只是函数的名称,返回它会很奇怪。事实上,当您尝试时,您会得到类似 <function number_of_pennies at 0x7ff4e962d488> 的信息。这意味着该函数返回了自己的函数对象。相反,返回您计算的数据...这更有用!

>>> def number_of_pennies(dollars=0, pennies=0):
...     return dollars * 100 + pennies
... 
>>> print(number_of_pennies(5,6))
506
>>> print(number_of_pennies(4))
400

关于python - 在 python 3.5.1 中混合关键字和默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184863/

相关文章:

php - Serp 跟踪器 PHP 脚本

kotlin - Kotlin 中 eval 关键字的使用

c# - 新语言功能破坏了脚手架——无法获取 DbContext 的反射类型

python - 如何将文本文件拆分为 python 中的单词?

python - 在 Python 中对一组值进行分区

python - 检索任务结果对象,给定 Celery 中的 `task_id`

python - 向 Django 添加自定义语言

c - 什么时候在全局变量前使用 static 关键字?

c++ - C++ 类成员的默认值是什么

c++ - 初始化类成员 - 默认值还是成员初始化列表?