2024-06-28 19:34:22 发布
网友
a, b, c = 0, 1,0 while c < 1000000: print (b) a, b = b, a + b, c = c + b
翻译程序向我抛出“无法分配给操作员”错误。NinjaIDE强调变量初始化是问题所在。但是,当我在解释器中运行代码时,“a+b”被突出显示为问题部分。你能帮我找出我的问题吗?
当您编写a, b, c = 0, 1, 0时,您没有创建多个赋值。相反,您隐式地使用元组打包和解包。在a, b = b, a + b, c = c + b行中,您正在尝试同样的操作,但是赋值的右侧部分包含另一个无效的赋值(在python中赋值不是表达式)。如果你想把它写在一行,你应该写
a, b, c = 0, 1, 0
a, b = b, a + b, c = c + b
a, b, c = b, a + b, a + b + c
但是,由于c的值依赖于{}的值已经改变,所以将其拆分为两行可能更清楚
c
类似于a, b, c = 0, 1,0的工作原理。。。在
a, b, c = 0, 1,0
这一行试图把a和b分配到等号的右边。这里有三件事,其中一件是变量赋值操作
也许你是说这个
或者,当然,只需在多行上执行
这是一个简单的解决方法: 更改c = c + b在代码中的位置。在
c = c + b
a, b, c = 0, 1,0 while c < 1000000: print (b) a, b, c = b, a + b, c + b
它在做什么:
但你可以分开写。在
希望有帮助
当您编写
a, b, c = 0, 1, 0
时,您没有创建多个赋值。相反,您隐式地使用元组打包和解包。在a, b = b, a + b, c = c + b
行中,您正在尝试同样的操作,但是赋值的右侧部分包含另一个无效的赋值(在python中赋值不是表达式)。如果你想把它写在一行,你应该写但是,由于}的值已经改变,所以将其拆分为两行可能更清楚
^{pr2}$c
的值依赖于{类似于
a, b, c = 0, 1,0
的工作原理。。。在这一行试图把a和b分配到等号的右边。这里有三件事,其中一件是变量赋值操作
也许你是说这个
^{pr2}$或者,当然,只需在多行上执行
这是一个简单的解决方法: 更改
c = c + b
在代码中的位置。在它在做什么:
^{pr2}$但你可以分开写。在
希望有帮助
相关问题 更多 >
编程相关推荐