我必须计算一个具有递归的方程。但是,如果我执行代码,我会得到Float对象不可迭代的失败
我的代码是:
def v(t, c):
result = []
if t == 0 or c == 0:
return 0
q = v(t - 1, c) - v(t - 1, c - 1)
return max((0.2*(400-q)), (0.6*(400-q)), (1*(1200-q)), (0.85*(1115-q)), (0.87*(1127-q))) + v(t-1,c)
x = v(2,1) 打印(x)的
我该怎么做才能得到结果?谢谢
答案 0 :(得分:0)
你正在使用max(),但你的函数中的args是一个元组(0.85 *(1115-q))+(0.87 *(1127-q)),这是不对的
答案 1 :(得分:0)
max()
需要传递多个参数,在您的情况下,只有一个参数会导致错误。请尝试删除max
或向max()
函数添加一个结果,以使其正常运行。
def v(t, c):
result = []
if t == 0 or c == 0:
return 0
q = v(t - 1, c) - v(t - 1, c - 1)
return ((0.85 * (1115 - q)) + (0.87 * (1127 - q))) + v(t - 1, c)
x = v(2, 1)
print(x)