Python中斐波那契序列中的偶数和
我是一个使用Python3的较新程序员,我不确定我能做些什么来修复这段代码。我试图打印fib序列中所有偶数值的总和,只要它们小于值Python中斐波那契序列中的偶数和,python,fibonacci,Python,Fibonacci,我是一个使用Python3的较新程序员,我不确定我能做些什么来修复这段代码。我试图打印fib序列中所有偶数值的总和,只要它们小于值n。我可以得到fib序列,只需要加上偶数就行了 def even_fibonacci(n): total = 0 a, b = 0, 1 while b < n: a, b = b, a+b return sum([b if b % 2 == 0]) even_fibonacci(100) def偶数
n
。我可以得到fib序列,只需要加上偶数就行了
def even_fibonacci(n):
total = 0
a, b = 0, 1
while b < n:
a, b = b, a+b
return sum([b if b % 2 == 0])
even_fibonacci(100)
def偶数fibonacci(n):
总数=0
a、 b=0,1
而b
def偶数斐波那契(n):
总数=0
a、 b=0,1
sum=0#默认值,因为0是偶数
而b 请考虑下面的内容,在你的问题中直接粘贴你的代码和你的尝试和错误信息。用你正在得到的输出来更新你的问题,并避免预期的输出。Downvote?如果给出原因,我会即兴给出答案。对我来说,它是有效的:这非常接近,我将if语句变量切换为a,以及sum+=a,从而修复了它。(在b值之间添加了一条打印语句,注意到它们太大并且跳过了数字)
def even_fibonacci(n):
total = 0
a, b = 0, 1
sum = 0 # default, as 0 is even
while b < n:
a, b = b, a+b
if b%2 == 0:
sum += b # keep adding b if it is even
return sum
sum = even_fibonacci(100)
print(sum)