#This one doesn't work
def pisano(n,m):
lis=[]
for i in range(n+1):
if i<=1:
lis.append(i)
else:
lis.append((lis[i-2]+lis[i-1])%m)
if lis[-2:] == [0,1]:
pisanoo = len(lis)-2
rem = n%pisanoo
print(rem)
calc_fib(rem,m)
break
#This one works
def pisano(n,m):
lis=[0,1]
while True:
lis.append((lis[-2]+lis[-1])%m)
if lis[-2:] == [0,1]:
pisanoo = len(lis)-2
rem = n%pisanoo
print(rem)
calc_fib(rem,m)
break
В приведенном выше фрагменте кода n - длина, а m - модуль. Моя первая функция, которая использует «i» в качестве итерации, не работает, но вторая функция, когда я удаляю «i», она успешно вычисляет период писано. Может ли кто-нибудь сказать мне, что пошло не так в первом, их лог c кажется таким же. Спасибо!