鱼C论坛

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

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

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

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

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

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

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

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

  40. #重新输出10行10列0到3的数字
  41. hang=0
  42. lie=0
  43. while hang<100:
  44.     while lie<10:   
  45.         print(list[hang+lie],end=' ')#输出随机生成的数字和空格 不换行
  46.         lie+=1
  47.     print()#换行
  48.     hang+=10
  49.     lie=0
复制代码
最佳答案
2021-8-25 21:10:24
你这l下面部分ie都不加一的
  1. import random
  2. list = []
  3. hang = 0
  4. lie = 0
  5. while hang < 100:
  6.     while lie < 10:
  7.         list.append(random.randint(0, 3))  # 随机生成一个0—3的整数,存入list
  8.         print(list[hang+lie], end=' ')  # 输出随机生成的数字和空格 不换行
  9.         lie += 1
  10.     print()  # 换行
  11.     hang += 10
  12.     lie = 0
  13. # 最终输出10行10列0到3的数字

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

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

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

使用道具 举报

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

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 16:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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