鱼C论坛

 找回密码
 立即注册
查看: 1048|回复: 1

[已解决]关于列表的问题 为什么输出的时候少东西了?

[复制链接]
发表于 2021-8-25 20:37:04 | 显示全部楼层 |阅读模式

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

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

x
程序应该输出两个10行10列的数字,但是实际输出了一个10行10列的数字
import random
list = []
hang=0
lie=0
while hang<100:
    while lie<10:
        list.append(random.randint(0,3))#随机生成一个0—3的整数,存入list
        print(list[hang+lie],end=' ')#输出随机生成的数字和空格 不换行
        lie+=1
    print()#换行
    hang+=10
    lie=0
#最终输出10行10列0到3的数字

#横向检查 0<hang<100 0<lie<8
hang=0
lie=0
while hang<100:
    while lie<8:
        if(list[hang+lie]==list[hang+lie+1]==list[hang+lie+2]):#如果有同一行连续三个数字相同
            if(hang==0):                                       #如果连续且相同的三个数字在第一行
                list[hang+lie]=random.randint(0,3)             #连续三个数字中的第一个重新随机赋值    
                list[hang+lie+1]=random.randint(0,3)           #连续三个数字中的第二个重新随机赋值
                list[hang+lie+2]=random.randint(0,3)           #连续三个数字中的第三个重新随机赋值
            #else        
    hang+=10
    lie=0

#纵向检查 0<hang80 0<lie<10  
hang=0
lie=0
while hang<80:
    while lie<10:
        if(list[hang+lie]==list[hang+lie+10]==list[hang+lie+20]):#如果有同一列连续三个数字相同
            if(hang==0):                                     #如果连续且相同的三个数字在第一行
                list[hang+lie]=random.randint(0,3)           #连续三个数字中的第一个重新随机赋值
                list[hang+lie+10]=random.randint(0,3)        #连续三个数字中的第二个重新随机赋值
                list[hang+lie+20]=random.randint(0,3)        #连续三个数字中的第三个重新随机赋值
            #else     
    hang+=10
    lie=0

#重新输出10行10列0到3的数字
hang=0
lie=0
while hang<100:
    while lie<10:   
        print(list[hang+lie],end=' ')#输出随机生成的数字和空格 不换行
        lie+=1
    print()#换行
    hang+=10
    lie=0
最佳答案
2021-8-25 21:10:24
你这l下面部分ie都不加一的
import random
list = []
hang = 0
lie = 0
while hang < 100:
    while lie < 10:
        list.append(random.randint(0, 3))  # 随机生成一个0—3的整数,存入list
        print(list[hang+lie], end=' ')  # 输出随机生成的数字和空格 不换行
        lie += 1
    print()  # 换行
    hang += 10
    lie = 0
# 最终输出10行10列0到3的数字

# 横向检查 0<hang<100 0<lie<8
hang = 0
lie = 0
while hang < 100:
    while lie < 8:
        if(list[hang+lie] == list[hang+lie+1] == list[hang+lie+2]):  # 如果有同一行连续三个数字相同
            if(hang == 0):  # 如果连续且相同的三个数字在第一行
                list[hang+lie] = random.randint(0, 3)  # 连续三个数字中的第一个重新随机赋值
                list[hang+lie+1] = random.randint(0, 3)  # 连续三个数字中的第二个重新随机赋值
                list[hang+lie+2] = random.randint(0, 3)  # 连续三个数字中的第三个重新随机赋值
            # else
        lie += 1  # 漏了
    hang += 10
    lie = 0

# 纵向检查 0<hang80 0<lie<10
hang = 0
lie = 0
while hang < 80:
    while lie < 10:
        if(list[hang+lie] == list[hang+lie+10] == list[hang+lie+20]):  # 如果有同一列连续三个数字相同
            if(hang == 0):  # 如果连续且相同的三个数字在第一行
                list[hang+lie] = random.randint(0, 3)  # 连续三个数字中的第一个重新随机赋值
                list[hang+lie+10] = random.randint(0, 3)  # 连续三个数字中的第二个重新随机赋值
                list[hang+lie+20] = random.randint(0, 3)  # 连续三个数字中的第三个重新随机赋值
            # else
        lie += 1  # 漏了
    hang += 10
    lie = 0

# 重新输出10行10列0到3的数字
hang = 0
lie = 0
while hang < 100:
    while lie < 10:
        print(list[hang+lie], end=' ')  # 输出随机生成的数字和空格 不换行
        lie += 1
    print()  # 换行
    hang += 10
    lie = 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-25 21:10:24 | 显示全部楼层    本楼为最佳答案   
你这l下面部分ie都不加一的
import random
list = []
hang = 0
lie = 0
while hang < 100:
    while lie < 10:
        list.append(random.randint(0, 3))  # 随机生成一个0—3的整数,存入list
        print(list[hang+lie], end=' ')  # 输出随机生成的数字和空格 不换行
        lie += 1
    print()  # 换行
    hang += 10
    lie = 0
# 最终输出10行10列0到3的数字

# 横向检查 0<hang<100 0<lie<8
hang = 0
lie = 0
while hang < 100:
    while lie < 8:
        if(list[hang+lie] == list[hang+lie+1] == list[hang+lie+2]):  # 如果有同一行连续三个数字相同
            if(hang == 0):  # 如果连续且相同的三个数字在第一行
                list[hang+lie] = random.randint(0, 3)  # 连续三个数字中的第一个重新随机赋值
                list[hang+lie+1] = random.randint(0, 3)  # 连续三个数字中的第二个重新随机赋值
                list[hang+lie+2] = random.randint(0, 3)  # 连续三个数字中的第三个重新随机赋值
            # else
        lie += 1  # 漏了
    hang += 10
    lie = 0

# 纵向检查 0<hang80 0<lie<10
hang = 0
lie = 0
while hang < 80:
    while lie < 10:
        if(list[hang+lie] == list[hang+lie+10] == list[hang+lie+20]):  # 如果有同一列连续三个数字相同
            if(hang == 0):  # 如果连续且相同的三个数字在第一行
                list[hang+lie] = random.randint(0, 3)  # 连续三个数字中的第一个重新随机赋值
                list[hang+lie+10] = random.randint(0, 3)  # 连续三个数字中的第二个重新随机赋值
                list[hang+lie+20] = random.randint(0, 3)  # 连续三个数字中的第三个重新随机赋值
            # else
        lie += 1  # 漏了
    hang += 10
    lie = 0

# 重新输出10行10列0到3的数字
hang = 0
lie = 0
while hang < 100:
    while lie < 10:
        print(list[hang+lie], end=' ')  # 输出随机生成的数字和空格 不换行
        lie += 1
    print()  # 换行
    hang += 10
    lie = 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 13:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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