用python随机生成100个学生的成绩并求出平均分,最大值,最小值,中位数
时间: 2024-09-22 17:06:46 浏览: 165
在Python中,你可以使用`random`模块来生成100个随机的成绩,并利用内置函数来计算平均分、最大值、最小值以及中位数。以下是一个示例代码:
```python
import random
# 初始化列表来存储成绩
grades = []
# 循环生成100个随机成绩(假设范围在0到100之间)
for _ in range(100):
grades.append(random.randint(0, 100))
# 计算平均分
average_grade = sum(grades) / len(grades)
# 计算最大值和最小值
max_grade = max(grades)
min_grade = min(grades)
# 对成绩排序并找到中位数
grades.sort()
n = len(grades)
if n % 2 == 0: # 如果有偶数个成绩
median_grade = (grades[n // 2 - 1] + grades[n // 2]) / 2
else: # 如果有奇数个成绩
median_grade = grades[n // 2]
# 输出结果
print(f"平均分:{average_grade}")
print(f"最大值:{max_grade}")
print(f"最小值:{min_grade}")
print(f"中位数:{median_grade}")
相关问题
用python.生成10个2位随机整数并输出,求其中的最大值、最小值以及10个数的平均数。
可以使用以下 Python 代码生成10个2位随机整数,并输出最大值、最小值和平均数:
```python
import random
# 生成10个2位随机整数
numbers = []
for i in range(10):
numbers.append(random.randint(10, 99))
print("生成的10个随机整数为:", numbers)
# 求最大值、最小值和平均数
max_num = max(numbers)
min_num = min(numbers)
avg_num = sum(numbers) / len(numbers)
print("最大值为:", max_num)
print("最小值为:", min_num)
print("平均数为:", avg_num)
```
首先,使用 `random.randint(10, 99)` 函数生成10个2位随机整数,并存放在列表 `numbers` 中。然后,使用 `max()` 和 `min()` 函数分别求出最大值和最小值,使用 `sum()` 函数求出所有数的和,并除以10求出平均数。最后,输出最大值、最小值和平均数。
python求列表内数据的最大值最小值中位数平均数以及和
假设待求的列表为 `lst`,可以使用以下 Python 代码求解:
```python
# 求最大值
max_val = max(lst)
# 求最小值
min_val = min(lst)
# 求中位数
n = len(lst)
lst_sorted = sorted(lst)
if n % 2 == 0:
median = (lst_sorted[n//2 - 1] + lst_sorted[n//2]) / 2
else:
median = lst_sorted[n//2]
# 求平均数
avg_val = sum(lst) / n
# 求和
sum_val = sum(lst)
```
其中,`max()` 函数可以直接求出列表中的最大值;`min()` 函数可以直接求出列表中的最小值;中位数需要先将列表排序,再根据列表长度的奇偶性来计算;平均数直接求和除以列表长度即可;和直接使用 `sum()` 函数求解。
阅读全文