Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中斐波那契序列中的偶数和_Python_Fibonacci - Fatal编程技术网

Python中斐波那契序列中的偶数和

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偶数

我是一个使用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偶数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)