鱼C论坛

 找回密码
 立即注册
查看: 2094|回复: 5

[已解决]Python随机生成88*88列表

[复制链接]
发表于 2022-7-13 23:36:31 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 然小兆同学 于 2022-7-13 23:47 编辑

为什么用while循环生成只有第一行?

import random
sum = []
i = 0
j = 0
n = 0
while i <= 88:
    sum.append([])
    while j <= 88:
        sum[i].append(random.randint(0,1024))
        j += 1
        print(sum[i])
    i += 1


但是用for  i  in   这个就可以顺利生成。

import random
sum = []
i = 0
j = 0
n = 0
for i in range(88):
    sum.append([])
    for j in range(88):
        sum[i].append(random.randint(0,1024))      
        print(sum[i])

为什么用while不可以实现呀?
最佳答案
2022-7-13 23:59:38
一个问题
在for循环中,每次执行完for j in range(88),再执行for j in range(88)的时候j就会等于0
但在while循环中,第一次执行完while j <= 88之后,j就等于89了,再执行一次while j <= 88,因为j <= 88条件不满足,所以直接跳过了while循环,导致while j <= 88只执行了一次
所以应将代码改为这样
  1. import random
  2. sum = []
  3. i = 0
  4. j = 0
  5. n = 0
  6. while i <= 88:
  7.     sum.append([])
  8.     j = 0
  9.     while j <= 88:
  10.         sum.append(random.randint(0,1024))
  11.         j += 1
  12.         print(sum)
  13.     i += 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-13 23:42:17 | 显示全部楼层
图片应该可以添加进文本吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-13 23:48:14 | 显示全部楼层
咕咕鸭 发表于 2022-7-13 23:42
图片应该可以添加进文本吧

我现在加入文本代码了,帮忙看看,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-13 23:59:38 | 显示全部楼层    本楼为最佳答案   
一个问题
在for循环中,每次执行完for j in range(88),再执行for j in range(88)的时候j就会等于0
但在while循环中,第一次执行完while j <= 88之后,j就等于89了,再执行一次while j <= 88,因为j <= 88条件不满足,所以直接跳过了while循环,导致while j <= 88只执行了一次
所以应将代码改为这样
  1. import random
  2. sum = []
  3. i = 0
  4. j = 0
  5. n = 0
  6. while i <= 88:
  7.     sum.append([])
  8.     j = 0
  9.     while j <= 88:
  10.         sum.append(random.randint(0,1024))
  11.         j += 1
  12.         print(sum)
  13.     i += 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-14 12:06:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-14 17:02:43 | 显示全部楼层
我觉得,应该是
  1. import random
  2. sum = []
  3. i = 0
  4. j = 0
  5. n = 0
  6. while i <= 88:
  7.     sum.append([])
  8.     j = 0
  9.     while j <= 88:
  10.         sum[i].append(random.randint(0,1024))
  11.         j += 1
  12.         
  13.     i += 1
  14. print(sum)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-28 02:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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