继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

编写程序,随机产生30个1-100之间的随机整数,按5行6列的格式输出

慕先生0340613
关注TA
已关注
手记 483
粉丝 23
获赞 120

大家好,我是皮皮。

一、前言

前几天在某乎上看到了一个粉丝提问,编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出?这里拿出来跟大家一起分享下。

image.png

二、实现过程

后来问了【ChatGPT】,给出的回答如下:

以下是一个Python程序来实现上述任务:

# coding:utf-8

# @Time : 2023/5/16 20:05
# @Author: Python进阶者
# @公众号: Python爬虫与数据挖掘
# @website : http://pdcfighting.com/
# @File : 111.py
# @Software: PyCharm
import random

# 随机生成30个1到100之间的整数
numbers = [random.randint(1, 100) for i in range(30)]

# 将生成的数字按5行6列的格式存储到二维列表中
rows = 5
cols = 6
matrix = [[0 for j in range(cols)] for i in range(rows)]
k = 0
for i in range(rows):
    for j in range(cols):
        matrix[i][j] = numbers[k]
        k += 1

# 按5行6列格式输出二维列表中的数字
for i in range(rows):
    for j in range(cols):
        print(matrix[i][j], end="\t")
    print("\n")

解释:

  • random.randint(1, 100) 是用来生成1到100之间的随机整数的函数。
  • 列表推导式 [random.randint(1, 100) for i in range(30)] 用来生成包含30个1到100之间随机整数的列表。
  • [[0 for j in range(cols)] for i in range(rows)] 是用来生成一个5行6列的二维列表,列表中所有元素都初始化为0。
  • for 循环用来将随机数填充到二维列表中。
  • 最后一个 for 循环用来按5行6列的格式输出二维列表中的数字。

运行之后,可以得到预期的结果:

image.png

后来看到问答区还有其他的解答,一起来看。下面是【江夏】的回答:

import random
# 生成 30 个 1-100 的随机整数,并存入 5 行 6 列的二维列表中
data = [[random.randint(1, 100) for j in range(6)] for i in range(5)]

# 输出二维列表
for i in range(5):
    for j in range(6):
        print(f"{data[i][j]:2d}", end=" ")
    print()

# 统计最大值、最小值、平均值和大于平均值、小于平均值的个数
max_val = max(map(max, data))
min_val = min(map(min, data))
sum_val = sum(map(sum, data))
avg_val = sum_val / (5 * 6)
above_avg_count = len([i for row in data for i in row if i > avg_val])
below_avg_count = len([i for row in data for i in row if i < avg_val])

# 输出统计结果
print(f"最大值:{max_val}")
print(f"最小值:{min_val}")
print(f"平均值:{avg_val:.2f}")
print(f"大于平均值的个数:{above_avg_count}")
print(f"小于平均值的个数:{below_avg_count}")

得到的结果如下所示:

image.png

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python编程题目,帮助粉丝顺利解决了问题。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

[图片上传失败…(image-1a7ef4-1684477105625)]

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP