鱼C论坛

 找回密码
 立即注册
查看: 2220|回复: 4

大佬们看一下 我下面的wuile语句哪里有问题

[复制链接]
发表于 2023-4-16 11:50:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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[z1] = s1
    s1 = []
    c = 0
    z1 += 1
        
for i in range(88):
    for j in range(88):
        if s[i][j] == x:
            print(i, j)
#i = 0
#n = 0
#while i < 88:
   # while n < 88:
     #   if s[i][n] == x:
        #    print(i,n,end = '\n')
         #   n += 1
         #   continue
       # else:
        #    n += 1
  #  else:
       # i += 1
            
                    
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-16 12:00:20 | 显示全部楼层
请问你是想生成随机矩阵吗?题目是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-16 12:09:37 | 显示全部楼层
您好!您的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[i][j] == x:
            print(i, j)

在这个修复后的代码中,我使用了两个for循环来创建二维数组并填充随机数。这样更简洁,易于理解。同时,这段代码能够正确地生成二维数组并在其中查找指定的数字。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-28 17:42:51 | 显示全部楼层
这里应该用for语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-1 20:40:43 | 显示全部楼层
这个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([shuzi]) # 定义每个元素为一个列表
    z += 1
   
while z1 < 88:
    while c < 88:
        shuzi1 = random.randint(0,1024)
        s1.append(shuzi1)
        c += 1
    s[z1] = s1
    s1 = []
    c = 0
    z1 += 1
        
for i in range(88):
    for j in range(88):
        if s[i][j] == x:
            print(i, j)
这里我将每个元素设为一个长度为1的列表,以便后续添加值。同时,利用len(s)可以获取列表s的长度,而不必预定一个变量进行自增。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 21:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表