表达式中的变量赋值

oad*_*ams 1 c python

这是我的代码,用于在低于10,000,000的fibonnacci序列中生成值.

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

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

Zan*_*hey 9

在Python中,赋值不是表达式,因此没有值.

最简单的解决方案是在循环的第一部分进行赋值:

fibs=[1,1]
while fibs[-1] <= 10000000:
   fibs.append(fibs[-1] + fibs[-2])
Run Code Online (Sandbox Code Playgroud)

  • 该死的,我比我自己更喜欢这个. (3认同)