代码出错求助
import randommy_matrix=[*88]*88
for i in range(0,88):
for j in range(0,88):
my_matrix=random.randint(0,1024)
x=int(input("请输入一个代匹配的整数:"))
for i in range(0,88):
for j in range(0,88):
if my_matrix==x:
print(i,j,sep=" ",end="")
print()
如图所示,我的代码为什么不对呢,问题在哪儿,求助。 你的代码的问题在于对二维列表的初始化。这里,你是这样初始化的:
my_matrix=[*88]*88
这将导致所有行引用的是相同的列表,也就是说,所有行都是同一个列表的引用,因此修改任何一行都会影响其他所有行。你可以想象这个列表就像88个镜像,修改任何一个镜像都会反映在其他所有镜像中。
因此,你应该这样初始化二维列表:
my_matrix = [ for _ in range(88)]
这将创建一个真正的二维列表,其中每一行都是独立的列表。你修改一行时,不会影响其他行。
所以,你的代码应该修改为:
import random
my_matrix = [ for _ in range(88)]
for i in range(0,88):
for j in range(0,88):
my_matrix = random.randint(0,1024)
x = int(input("请输入一个待匹配的整数:"))
for i in range(0,88):
for j in range(0,88):
if my_matrix == x:
print(i, j, sep=" ", end="")
print()
这个版本的代码应该能正常运行并达到你期望的效果。 1鱼币的话还不如不答……没鱼币就不要发悬赏啊 歌者文明清理员 发表于 2023-6-7 23:17
1鱼币的话还不如不答……没鱼币就不要发悬赏啊
一个鱼币确实恶心,有点损人不利己了{:10_277:} 歌者文明清理员 发表于 2023-6-7 23:17
1鱼币的话还不如不答……没鱼币就不要发悬赏啊
哈哈,穷人一个,下次就不发悬赏了,就发发帖子,看大家心情{:5_97:}
页:
[1]