下面是我的代码,用于生成低于10000000的fibonnacci序列中的值。

  3 fibs = [1,1]
  4 while((x = fibs[-1] + fibs[-2]) <= 10000000):
  5     fibs.append(x)

我试图在while循环的条件下对x进行C风格的赋值不幸的是,python告诉我这是一个语法错误最简单的解决方案是什么?

最佳答案

In Python, assignment is not an expression, and therefore has no value.
最简单的解决方案是在循环的第一部分中进行赋值:

fibs=[1,1]
while fibs[-1] <= 10000000:
   fibs.append(fibs[-1] + fibs[-2])

10-05 23:04