Python 我得到了一个错误;Can';t分配给操作员“;

Python 我得到了一个错误;Can';t分配给操作员“;,python,operator-keyword,Python,Operator Keyword,我不知道为什么它会给我这个错误。。。它告诉我错误的部分是previousFirst+previousSecond=previousSecond。如果您想知道,目标是打印出用户想要打印的尽可能多的fibonnaci号码 def fibbonaci(): fibbNumber = input("How many Fibonacci numbers should I print for you?") fibbNumber = int(fibbNumber) global cou

我不知道为什么它会给我这个错误。。。它告诉我错误的部分是
previousFirst+previousSecond=previousSecond
。如果您想知道,目标是打印出用户想要打印的尽可能多的fibonnaci号码

def fibbonaci():
    fibbNumber = input("How many Fibonacci numbers should I print for you?")
    fibbNumber = int(fibbNumber)
    global counter
    counter = 0
    global previousFirst
    previousFirst = 0
    global previousSecond
    previousSecond = 1
    global previousSaved
    previousSaved = 1
    while (counter < fibbNumber):
        previousSaved = previousSecond
        previousFirst + previousSecond = previousSecond
        print (previousFirst)
        print (previousSecond)
        counter += 1

fibbonaci()
def fibbonaci():
fibbNumber=input(“我应该为您打印多少斐波那契数字?”)
fibbNumber=int(fibbNumber)
全局计数器
计数器=0
全球优先
previousFirst=0
全球前一秒
前一秒=1
全局先前保存
上一次保存=1
而(计数器<纤维编号):
previousSaved=previousSecond
previousFirst+previousSecond=previousSecond
打印(前一页)
打印(上一秒)
计数器+=1
fibbonaci()

赋值语句的左侧必须是有效名称,而不是表达式。(
+
是一个运算符,表示其包含在表达式中)

这是罪犯的路线,
previousFirst+previousSecond=previousSecond

此外,您的代码确实存在一些格式问题,即缩进对第一个函数不好。通常情况下,您可以不受影响,但作为Python,它是语言语法的一部分。它也可能只是你如何复制和粘贴到堆栈中,看看
如何编辑
如何格式化
条中的提示,当编辑你的文章时

这条线应该是

previousSecond = previousFirst + previousSecond 
这就是问题所在

更新:

计算fibbonaci数时存在一些逻辑错误,而部分可能是:

while (counter < fibbNumber):
    previousSaved = previousSecond
    previousSecond = previousFirst + previousSecond
    previousFirst = previousSaved
    print (previousFirst)
    print (previousSecond)
    counter += 1
while(计数器
1。你的任务完成了。格式是

<i>variable</i> = <i>new value</i>
二,。一种更正常(非Python)的方法是:

next = current + previous
previous = current
current = next
其中“next”是一个临时变量,用于按顺序计算next

三,。Python能够执行多个赋值,在许多其他情况下不需要临时变量。您可以通过以下方式完成上述所有操作:

current, previous = current+previous, current
右边的两个计算都是在赋值之前完成的。当前新值是当前旧值+上一个值的总和,上一个新值是当前旧值。在初始化current=0、previous=1之后,将其放入“for xyz in range(n):”循环中,您将得到一个适用于所有非负n(包括0)的循环。current的最终值是您的结果


四,。这是“斐波那契”,不是“斐波那契”,这家伙的真名是莱昂纳多。

我理解,但代码中的缩进是正确的,当我上传时,格式不同,我不清楚需要做什么来修复它:(@user1861771阅读我的答案,你正在尝试弄乱分配语句。至于你所问的bug,你期望
previousFirst+previousSecond=previousSecond
做什么?分配总是分配给左边的东西,而不是右边的东西。这是我一年多来第一次编码,事情发生了很大的变化我仍然在做一些事情,我的逻辑也很糟糕,我不能让它做我想做的事情,也就是按顺序产生斐波那契数
current, previous = current+previous, current