用python 从键盘输入n,随机产生n名学生的课程成绩,利用列表输出平均值、最高的3个成绩和最低的3个成绩、成绩的中位数。
时间: 2023-05-18 16:05:34 浏览: 212
以下是Python代码实现:
```python
import random
# 从键盘输入n
n = int(input("请输入学生人数:"))
# 随机生成n名学生的成绩
scores = []
for i in range(n):
score = random.randint(0, 100)
scores.append(score)
# 输出平均值
average = sum(scores) / n
print("平均成绩为:", average)
# 输出最高的3个成绩
top3 = sorted(scores, reverse=True)[:3]
print("最高的3个成绩为:", top3)
# 输出最低的3个成绩
bottom3 = sorted(scores)[:3]
print("最低的3个成绩为:", bottom3)
# 输出成绩的中位数
scores.sort()
if n % 2 == 0:
median = (scores[n//2-1] + scores[n//2]) / 2
else:
median = scores[n//2]
print("成绩的中位数为:", median)
```
运行结果示例:
```
请输入学生人数:10
平均成绩为: 52.7
最高的3个成绩为: [91, 89, 86]
最低的3个成绩为: [8, 12, 14]
成绩的中位数为: 53.5
```
相关问题
用python从键盘输入n,随机产生n名学生的课程成绩,利用列表输出平均值、最高的3个成绩和最低的3个成绩、成绩的中位数。
非常愉快地回答,以下是用 Python 实现的代码:
```python
import random
n = int(input("请输入学生人数: "))
scores = []
for i in range(n):
score = random.randint(0, 100)
scores.append(score)
avg_score = sum(scores) / n
sorted_scores = sorted(scores, reverse=True)
max_scores = sorted_scores[:3]
min_scores = sorted_scores[-3:]
median_score = sorted_scores[n // 2]
print("平均分数为: {}".format(avg_score))
print("最高的3个分数为: {}".format(max_scores))
print("最低的3个分数为: {}".format(min_scores))
print("中位数为: {}".format(median_score))
```
希望这个答案能够帮到你!
python中从键盘输入n,随机产生n名学生的课程成绩,利用列表输出平均值、最高的3个成绩和最低的3个成绩、成绩的中位数。
好的,这是一个非常基础的Python编程问题。我可以帮您编写代码来实现这个任务。
以下是代码示例:
```python
import random
# 从键盘输入n
n = int(input("请输入学生人数: "))
# 随机生成n个学生成绩
scores = [random.randint(0, 100) for _ in range(n)]
# 计算平均分
avg_score = sum(scores) / n
# 找到最高的3个成绩
top_scores = sorted(scores, reverse=True)[:3]
# 找到最低的3个成绩
bottom_scores = sorted(scores)[:3]
# 计算中位数
if n % 2 == 0: # 偶数个成绩
mid_score = (sorted(scores)[n // 2 - 1] + sorted(scores)[n // 2]) / 2
else: # 奇数个成绩
mid_score = sorted(scores)[n // 2]
# 输出结果
print("平均分是:", avg_score)
print("最高的3个成绩是:", top_scores)
print("最低的3个成绩是:", bottom_scores)
print("成绩的中位数是:", mid_score)
```
我希望这个代码能够对您有所帮助。如果您还有其他问题,请随时问我。
阅读全文