大一新生求助求助
这两个函数为什么会报错 can’t assign to function call 没有见过这种错误 这不是写的很清楚吗,语法错误,这样调用函数自身是错误的写法 你这函数都没返回值你还递归调用?甚至还想给它赋值? fcage 发表于 2022-11-4 22:20你这函数都没返回值你还递归调用?甚至还想给它赋值?
咋改呢 不懂{:10_285:} 本帖最后由 jackz007 于 2022-11-4 23:10 编辑
def bala(): # bala() 定义为无参数函数
bala(n + 1) = (bala(n) - Monthly_payment_middle_bound) # 你却加了参数进行调用 bala(n)、bala(n + 1) ,这个肯定通不过,还有,n 什么来历,从哪里来?作为递归函数,不检查输入参数就直接递归,你这个递归无底,会无穷递归,最终会耗尽堆栈,让程序死掉。 1493916656 发表于 2022-11-4 23:02
咋改呢 不懂
rate = 0.05# 随便设了一个,简单点
# Python的递归函数里去网上搜一下吧,小甲鱼也有讲的
def bal(n):
if n==0:
return 1# 这是设定终止条件,避免无限调用(不是很理解你代码的意思,你按要求设置就好)
else:
return bal(n-1)*(1-rate)
print(str(round(bal(12), 2)))# 另外这个round应该写在str里面吧 fcage 发表于 2022-11-4 23:13
感谢感谢 刚学一个月 还搞不太清{:10_254:} jackz007 发表于 2022-11-4 23:09
感谢感谢 本帖最后由 阿奇_o 于 2022-11-4 23:34 编辑
空
页:
[1]