mys*_*man 2 python while-loop python-3.x
一个非常简单的例子:
n=1
a=n
x=1
y=a+1
while (y-x) <10:
n+=1
print(x,y)
print(n,a)
Run Code Online (Sandbox Code Playgroud)
这将进入一个无限循环:
x= 1 y= 2
n= 2 a= 1
x= 1 y= 2
n= 3 a= 1
x= 1 y= 2
n= 4 a= 1
x= 1 y= 2
n= 5 a= 1
x= 1 y= 2
n= 6 a= 1
x= 1 y= 2
n= 7 a= 1
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,n循环正在更新并且可以调用,但是a没有更新到更新的n值.我想知道为什么会这样.如果y是这样的话也是如此n+1.
int对象上的操作(+=此处)始终创建一个新的整数对象,它不会改变先前的值.因此,尽管有任务,但改变n不会反映出来.aa = n
你需要重新绑定a到n每次更改值时间n:
while (y-x) <10:
n += 1
a = n
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |