大佬们看一下 我下面的wuile语句哪里有问题
x = int(input("请输入需要匹配的数字:"))import random
z1 = 0
z = 0
c = 0
s= []
s1 = []
while z < 88:
shuzi = random.randint(0,1024)
s.append(shuzi)
z += 1
while z1 < 88:
while c < 88:
shuzi1 = random.randint(0,1024)
s1.append(shuzi1)
c += 1
s = s1
s1 = []
c = 0
z1 += 1
for i in range(88):
for j in range(88):
if s == x:
print(i, j)
#i = 0
#n = 0
#while i < 88:
# while n < 88:
# if s == x:
# print(i,n,end = '\n')
# n += 1
# continue
# else:
# n += 1
#else:
# i += 1
请问你是想生成随机矩阵吗?题目是什么? 您好!您的while循环中存在一个小问题。根据您的代码,您正在尝试创建一个88行88列的二维数组,并使用随机数填充该数组。
然后,您想在该数组中查找等于用户输入的数字的元素。
这里是修复后的代码:
x = int(input("请输入需要匹配的数字:"))
import random
s = []
for _ in range(88):
row = []
for _ in range(88):
shuzi = random.randint(0, 1024)
row.append(shuzi)
s.append(row)
for i in range(88):
for j in range(88):
if s == x:
print(i, j)
在这个修复后的代码中,我使用了两个for循环来创建二维数组并填充随机数。这样更简洁,易于理解。同时,这段代码能够正确地生成二维数组并在其中查找指定的数字。 这里应该用for语句
这个while语句中有一个逻辑错误,即内部的while循环没有及时终止,导致外层while循环无法正常运行。具体来说,在执行完内部的while循环后,应该立即将c重置为0,否则循环永远无法退出。另外,你的代码中数组s并没有定义正确的形状(shape),因此在添加元素时会出错。以下是修改后的代码供参考:
x = int(input("请输入需要匹配的数字:"))
import random
z1 = 0
z = 0
c = 0
s= []
s1 = []
while z < 88:
shuzi = random.randint(0,1024)
s.append() # 定义每个元素为一个列表
z += 1
while z1 < 88:
while c < 88:
shuzi1 = random.randint(0,1024)
s1.append(shuzi1)
c += 1
s = s1
s1 = []
c = 0
z1 += 1
for i in range(88):
for j in range(88):
if s == x:
print(i, j)
这里我将每个元素设为一个长度为1的列表,以便后续添加值。同时,利用len(s)可以获取列表s的长度,而不必预定一个变量进行自增。
页:
[1]