python - 在特定点评估函数
问题描述
我正在尝试编写一个名为 term_output 的 Python 函数,它可以评估单个术语在 x 值处等于什么。
例如,当 x=2
,术语 3x^2 = 3*2^2=12
。我被告知 3x^2
在代码中表示为 (3, 2),并且:
term_output((3, 2), 2)
应该返回12
.
我试图单独使用函数(和函数的函数)
def term(x,y):
return x**y
def term_output(term,z):
return term*z
我的最终结果是(3, 2, 3, 2)
。
但我尝试了很多选项,我希望输出返回 12
解决方案
term
是一对,而不是数字,任何元组相乘都会复制它。
>>> (1,2) * 3
(1, 2, 1, 2, 1, 2)
>>> (1,2) * 4
(1, 2, 1, 2, 1, 2, 1, 2)
你需要拆开这对。
我认为同时分配很方便(它比索引更好地记录了意图):
>>> a = (3,2)
>>> a
(3, 2)
>>> x,y = a
>>> x
3
>>> y
2
把它放在一个函数中:
def term_output(term,z):
coefficent, exponent = term
return coefficient * z ** exponent
推荐阅读
- sql - 选择日期范围的 sum 命令
- webpack - 在 SCSS 图像路径前添加 CDN URL
- django - Django 数据保存在数据库中但未显示在模板中
- javascript - 如何使用 javascript 让 HTML div 元素循环?
- php - 从 webhook 请求中提取表单字段
- python-3.x - 如何从 ttkwidgets 禁用/启用 ScaleEntry?
- singularity-container - 如何在 Singularity 中导出容器
- reactjs - React 组件只显示状态码错误消息而不是自定义的
- javascript - 根据 uniqueValues 过滤对象数组
- c# - 在方法上下文中使用 Dapper 返回多个列表