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

liftword4个月前 (02-14)技术文章40

大家好,我是皮皮。

一、前言

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

二、实现过程

后来问了【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列的格式输出二维列表中的数字。

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

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

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}")

得到的结果如下所示:

三、总结

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

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

相关文章

「Python条件结构」判断是否能同时被3、5、7整除

功能要求编写一个控制台应用重新,从键盘中输入一个正整数N,判断它是否能同时被3、5、7整除,并输入以下信息之一:如果能同时被3、5、7整除,则显示“能同时被3、5、7整除”;如果能被其中两个数整数,则...

优化 | 从下料问题看整数规划中的列生成方法(附求解器源代码)

『运筹OR帷幄』原创作者:康仔编者按:列生成算法作为一种处理大规模线性规划问题的常用算法,在为NP-hard 问题设计启发式算法方面亦有广泛的应用,同时常与DW分解联合使用。本文从下料问题的建模方式出...

用Python实现列表排序,给定列表并进行升序降序排序(第一节)

我们在生活中常常会遇到一堆无序的数字,有时候为了让结果更加直观,常常需要对这些无序的数字进行升序或者降序排序,那么今天呢,也正好是Python复习的第一节,那么就来谈一谈如何用Python语言来实现列...

第1章 整数运算-扩建花圃问题_扩建花园

python500题:扩建花圃问题。猎风老师的习题课。下面看一下扩建花圃的问题。梅山小学有一块长方形的花圃,花圃的长和宽都是整数,长是m米,宽未知。在修建校园的时候把花圃的长增加了n米,此时发现增加出...

Python教程:Python中的序列相乘(乘法)详解

欢迎你来到站长在线的站长学堂学习Python知识,本文分享的是《Python中的序列相乘(乘法)详解》。在Python中,序列相乘也叫序列乘法。使用数字n乘以一个序列会生成新的序列。新的序列内容为原来...

一日一技:Python中的gcd()方法_python中的gil

gcd()方法gcd(最大公约数)是找到最大数的数学表达式,该方法可以将必须找到gcd的两个数相除,而所得余数为零.Python在math模块中具有内置的gcd函数,可以实现它.gcd()方法:它接受...