Python随机生成10个数,范围在1-100之间,并将它插入列表以及变式扩展操作(排序/去高低分/求平均值/取小数点用法)

ps:list作为python的内置函数,当前面命名list后面有调用list()时会报错,不建议作为变量名,建议将变量名改为其他详细具体的数值,为了方便观看我就随便了

一.随机生成10个数,范围在1-100之间,并将它插入列表

注释版:

#random()不能直接访问,需要导入random模块
import random
#新建一个空列表
list = []
#生成0-9的整数序列(共10个数)
for i in range(0,10):
#将随机生成的1-100个数插入空列表中
    list.append(random.randint(1,100))
print(list)

纯代码版:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
print(list)

运行结果:

        

扩展1.随机生成10个数,范围在1-100之间,按从小到大排序,并将它插入列表

代码如下:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
    list.sort()
print(list)

运行结果:

扩展2.随机生成10个数,范围在1-100之间,按从大到小排序,并将它插入列表

代码如下:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
    list.sort(reverse=True)
print(list)

运行结果:

扩展3:随机生成10个数,范围在1-100之间,按从小到大排序,去掉最高值和最低值,并将它插入列表

代码如下:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
    list.sort()
list.remove(max(list))
list.remove(min(list))
print(list)

运行结果:

可以看见去除最高值和最低值后只剩8个值

扩展4:随机生成10个数,范围在1-100之间,按从小到大排序,去掉最高分和最低分,求出剩下列表元素的平均值,并将它插入列表

代码如下:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
    list.sort()
list.remove(max(list))
list.remove(min(list))
num = sum(list)/len(list)
print(num)

运行结果:

其中sum列表求和,len列表元素,sum/len则代表列表元素之和/列表元素个数=列表元素平均数

扩展5:随机生成10个数,范围在1-100之间,按从小到大排序,去掉最高分和最低分,求出剩下列表元素的平均值,保留小数点后俩位,并将它插入列表(俩种方法)

代码如下:

import random
list = []
for i in range(0,10):
    list.append(random.randint(1,100))
    list.sort()
list.remove(max(list))
list.remove(min(list))
num = sum(list)/len(list)
print('%.2f'%num)
print(round(num,2))

运行结果:

 

方法1:其中%.2f表示四舍五入到小数点后俩位,同理%.1f表示四舍五入到小数点后一位

方法2:round(x.[,n])返回x的四舍五入值,n值代表舍入到小数点后的位数

其中round(num,2)中2表示取num值小数点后俩位


 

### 回答1: 以下是Python编写的打印10行杨辉三角的程序: ``` # 定义一个函数,用于生成杨辉三角 def generate_triangle(n): triangle = [] for i in range(n): row = [1] * (i + 1) for j in range(1, i): row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j] triangle.append(row) return triangle # 调用函数打印结果 triangle = generate_triangle(10) for row in triangle: print(row) ``` 输出结果如下: ``` [1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1] [1, 5, 10, 10, 5, 1] [1, 6, 15, 20, 15, 6, 1] [1, 7, 21, 35, 35, 21, 7, 1] [1, 8, 28, 56, 70, 56, 28, 8, 1] [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] ``` ### 回答2: 杨辉三角是一个非常有趣和经典的数学题目,它可以被看作是对组合数的一种表示方,同时也有着很强的递归性质。 在python中编写一个程序来打印出10行的杨辉三角,我们可以通过使用列表(list)来存储和操作三角形的数值。具体实现如下: ```python # 定义三角的行数 n = 10 # 初始化三角形的第一行和第二行 triangle = [[1], [1, 1]] # 从第三行开始,逐行计算 for i in range(2, n): # 定义当前行的列表,第一个和最后一个元素都是1 curr_line = [1] for j in range(1, i): # 使用递推来计算当前行的每个元素 curr_line.append(triangle[i-1][j-1] + triangle[i-1][j]) curr_line.append(1) # 将当前行添加到三角形中 triangle.append(curr_line) # 打印出杨辉三角 for line in triangle: print(line) ``` 运行上述程序,我们可以得到如下输出: ``` [1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1] [1, 5, 10, 10, 5, 1] [1, 6, 15, 20, 15, 6, 1] [1, 7, 21, 35, 35, 21, 7, 1] [1, 8, 28, 56, 70, 56, 28, 8, 1] [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] ``` 从输出结果中我们可以看到,我们成功地打印出了10行的杨辉三角。这个程序使用了列表来存储和计算三角形的数值,同时也利用了python的逐行循环和递推来计算各个元素。这给我们展示了如何利用编程语言来解决数学问题的方法和技巧。 ### 回答3: 杨辉三角是一种很有趣的数学问题,它的规律是从第三行开始,每个数字是上方两个数字之和,第一行只有一个数1,以下每行数字由此构成。编写一个Python程序,打印出前10行的杨辉三角。 我们可以使用Python中的列表来实现这个打印功能。首先,我们需要定义一个空列表,表示杨辉三角的每一行,然后我们可以通过循环来计算杨辉三角的每一个数字,最后将每一行的结果添加到列表中。 具体实现方如下: triangle = [] # 定义一个空列表 # 循环10次,生成10行杨辉三角 for i in range(10): row = [] # 定义空列表,表示杨辉三角的每一行 for j in range(i+1): # 每行的数字数量为行数+1 if j==0 or j==i: # 每行的第一个和最后一个数字都为1 row.append(1) else: # 每个数字是上方两个数字之和 row.append(triangle[i-1][j-1] + triangle[i-1][j]) # 将每一行的结果添加到triangle列表中 triangle.append(row) # 打印出杨辉三角 for row in triangle: # 每行的数字间加空格,使打印更美观 print(" ".join(str(num) for num in row)) 上述程序将会输出10行的杨辉三角,具体输出结果为: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 至此,我们成功地通过Python编写了一个打印杨辉三角的程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值