哪位大神能帮我看下下面的代码:
#!/usr/bin/env python
# encoding: utf-8
list = []
point = [0,0]
n = 0
x = [2,1,1,2]
for i in x:
if n%4 == 0:
for ii in range(i):
point[1]+=1
list.append(point)
print point
if n%4 == 1:
for ii in range(i):
point[0]-=1
list.append(point)
print point
if n%4 == 2:
for ii in range(i):
point[1]-=1
list.append(point)
print point
if n%4 == 3:
for ii in range(i):
point[0]+=1
list.append(point)
print point
# print point
print n
n+=1
print list
运行的结果为什么是[[1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1]]?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
传递的是
point
的引用改成
list.append(type(point)(point))
话说list为什么要取名为list,把__built_in__里的list覆盖掉了
在你的代码中,第
n+1
次循环会修改第n
次循环中的point
的引用值。可以在每次操作完
point
后,重新为point
初始化,或者直接用非引用值。请问怎么对point进行初始化呢?