15260905077 发表于 2023-3-27 23:24:32

python的嵌套列表问题 想问一下一为什么不能改成二

(一)import random
matri=[ ]
for i in range(88):
    matri.append([])
    for j in range(88):
      matri.append(random.randint(0,1024))
x=int(input("请输入一个匹配的整数:"))
for i in range(88):
    for j in range(88):
   if matri==x:
      print(i,j)

(二)
import random
matri=[ ]
x=int(input("请输入一个匹配的整数:"))
for i in range(88):
    matri.append([])
    for j in range(88):
      matri.append(random.randint(0,1024))


            if matri==x:
               print(i,j)

isdkz 发表于 2023-3-27 23:41:14

可能只是因为你的缩进不对,还有最后面的 print 的逗号和右括号用了全角符号(中文符号)

当然,这也可能是你发帖的时候打错了

修改后的代码如下,猜测你的 ] 不见了是因为发帖后变成格式了

import random
matri=[ ]
x=int(input("请输入一个匹配的整数:"))
for i in range(88):
    matri.append([])
    for j in range(88):
      matri].append(random.randint(0,1024))
      if matri]==x:
            print(i, j)

15260905077 发表于 2023-3-28 08:17:35

isdkz 发表于 2023-3-27 23:41
可能只是因为你的缩进不对,还有最后面的 print 的逗号和右括号用了全角符号(中文符号)

当然,这也可 ...

一是小甲鱼的答案 下面重新定义了i 和j对括号是我发帖打错了 就是不懂为什么 还要定义第二遍

ouyunfu 发表于 2023-3-28 09:30:54

第一次是为了生成88x88的矩阵,第二次是遍历88x88矩阵的每一个值,寻找与输入值匹配的数,并打印其位置
正确代码如下:
import random

matri = []
for i in range(88):
    matri.append([])
    for j in range(88):
      matri.append(random.randint(0, 1024))

x = int(input("请输入一个匹配的整数:"))

for i in range(88):
    for j in range(88):
      if matri == x:
            print(i, j)

isdkz 发表于 2023-3-28 10:02:38

15260905077 发表于 2023-3-28 08:17
一是小甲鱼的答案 下面重新定义了i 和j对括号是我发帖打错了 就是不懂为什么 还要定义第二遍

什么定义第二遍,那是小甲鱼老师为了演示从列表中找出特定的值的过程,如果两个放在一起的话,你甚至不用加入列表都可以

import random

x=int(input("请输入一个匹配的整数:"))
for i in range(88):
    for j in range(88):
      if random.randint(0,1024)==x:
            print(i, j)
页: [1]
查看完整版本: python的嵌套列表问题 想问一下一为什么不能改成二