You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用循环替代重复代码实现随机整数列表的10×10表格打印?

问题描述

我生成了一个包含100个随机整数的列表list1,目前靠手动重复调用print函数打印不同切片,把它展示成10行的格式。现在想改用循环实现,但不知道具体怎么做。以下是我当前的代码和期望输出:

当前代码

import random
def main():
    list1 = []
    for count in range(100):
        number = random.randint(1,100)
        list1.append(number)
    print(list1[0:9])
    print(list1[10:19])
    print(list1[20:29])
    print(list1[30:39])
    print(list1[40:49])
    print(list1[50:59])
    print(list1[60:69])
    print(list1[70:79])
    print(list1[80:89])
    print(list1[90:99])

main()

期望输出

[35, 9, 53, 1, 13, 67, 48, 1, 38]
[60, 43, 2, 95, 91, 33, 76, 45, 15]
[17, 69, 63, 38, 49, 94, 77, 94, 65]
[36, 14, 73, 3, 33, 41, 12, 71, 5]
[5, 63, 86, 98, 77, 88, 41, 73, 43]
[33, 37, 52, 50, 77, 97, 61, 6, 82]
[65, 31, 60, 57, 91, 9, 50, 50, 7]
[23, 94, 6, 21, 13, 99, 80, 18, 28]
[9, 15, 18, 20, 47, 93, 88, 17, 17]
[93, 97, 11, 40, 45, 34, 10, 55, 61]
解决方案

你可以用for循环遍历切片的起始索引,步长设为10,每次取对应区间的切片即可,这样就能替代重复的print语句:

import random
def main():
    list1 = []
    for count in range(100):
        number = random.randint(1,100)
        list1.append(number)
    # 用循环替代手动切片打印
    for i in range(0, 100, 10):
        print(list1[i:i+9])

main()

说明

  • range(0, 100, 10)会生成0, 10, 20, ..., 90这些起始索引,正好对应你手动写的每个切片的起始位置。
  • list1[i:i+9]和你原来的list1[0:9]、list1[10:19]逻辑完全一致,都是取从索引i开始的9个元素。

另外,也可以用列表推导式简化列表生成的代码,让整体更简洁:

import random
def main():
    list1 = [random.randint(1, 100) for _ in range(100)]
    for i in range(0, 100, 10):
        print(list1[i:i+9])

main()

内容的提问来源于stack exchange,提问作者confused

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:15:02