我正在尝试编写一个称为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
答案 0 :(得分:1)
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
答案 1 :(得分:0)
简单地为:
x = 2
y = 2
z = 3
xy = [x,y]
def term(xy):
return xy[0]**xy[1]
def term_output(xy,z):
return term(xy)*z