【发布时间】:2017-05-30 12:58:09
【问题描述】:
我正在为一个名为“Project Euler”的东西编写这段代码,它基本上是一个在线数学/计算机科学的东西,可以找到它的链接here:
所以无论如何,当我在 Python 3.5 中运行我的代码时,除了光标位闪烁之外,它不会在 shell 中执行任何操作。 这是有问题的代码:
`mylist=[]
a=1
b=2
c=a+b
def fib():
a=1
b=2
c=a+b
a=b
b=c
c=a+b
if a%2==0:
mylist.append(a) and print(a)
elif b%2==0:
mylist.append(b) and print(b)
elif c%2==0:
mylist.append(c) and print(c)
else:
print(end='')
while a and b and c<4000000:
fib()
print(sum(mylist))'
我要回答的问题是
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
该代码旨在将最多 400 万个斐波那契数添加到列表中,然后打印它们的总和,这可以完美地回答问题,但它似乎不起作用。
【问题讨论】:
-
它不输出任何东西,因为你告诉它这样做。您只调用函数
fib()(可能)四百万次,而该函数除了设置一些未使用的变量之外什么都不做。 -
顺便说一句:您似乎对
and关键字有误解,它是一个逻辑连接,而不是“连接”命令。 -
-
感谢@Monkey Supersonic 的帮助。然后缩进
list.append部分会更好吗?
标签: python-3.x loops fibonacci