用python从键盘输入n,随机产生n名学生的课程成绩,利用列表输出平均值、最高的3个成绩和最低的3个成绩、成绩的中位数。
时间: 2023-05-22 15:05:11 浏览: 91
非常感谢您的问题!请参考下面的Python代码实现:
```python
import random
def main():
n = int(input("请输入学生数量: "))
scores = []
for i in range(n):
# 随机生成成绩
score = random.randint(0, 100)
scores.append(score)
# 计算平均值
avg_score = sum(scores) / n
# 输出平均值
print("平均值:", avg_score)
# 排序
scores.sort(reverse=True)
# 输出最高的3个成绩
print("最高的3个成绩:", scores[:3])
# 输出最低的3个成绩
print("最低的3个成绩:", scores[-3:])
# 计算中位数
if n % 2 == 0:
median = (scores[n // 2 - 1] + scores[n // 2]) / 2
else:
median = scores[n // 2]
# 输出中位数
print("中位数:", median)
if __name__ == '__main__':
main()
```
希望我的代码能够帮助到您!
相关问题
用python 从键盘输入n,随机产生n名学生的课程成绩,利用列表输出平均值、最高的3个成绩和最低的3个成绩、成绩的中位数。
以下是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
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)
```
我希望这个代码能够对您有所帮助。如果您还有其他问题,请随时问我。
阅读全文