为了账号安全,请及时绑定邮箱和手机立即绑定

Python递归函数返回一个输入的结果,但不返回另一个输入的结果

Python递归函数返回一个输入的结果,但不返回另一个输入的结果

qq_花开花谢_0 2021-04-09 13:15:06
我正在尝试使用这两个函数来计算??模?(斐波纳契模m)。第一个输入返回结果,而第二个输入返回None。我真的很困惑这是怎么回事:def get_period(n,m):    # calculate period of m using fibonacci series    modular_list=[]    for idx,element in enumerate(fib_series(n)[0]):        modular_list.append(element%m)        for i in range(len(modular_list)-1):            if modular_list[i]==0 and modular_list[i+1]==1:                if i>1:                    period = idx-1                    modular_list_period = modular_list[:-2]                    return(period, modular_list_period)                else:                    continuedef fib_series(n):    lst = [0,1]    for i in range(n):        if n>=1:            lst.append(lst[-1]+lst[-2])        else:            return 0    return lst[:-1], lst[-2]print(get_period(2015,3)) # returns -> (8, [0, 1, 1, 2, 0, 2, 2, 1])print(get_period(239,1000)) # returns -> None
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

print(get_period(100,44))#您必须为m传递更少的值,print(get_period(239,90))#像这样,m值应小于n。


查看完整回答
反对 回复 2021-04-20
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号