编写程序,用户输入学号、姓名和成绩(用逗号隔 开),按照降序输出学号、姓名和平均成绩。 例如: 请输入学号,姓名和成绩(用逗号隔开):1001,张三, 80 100 70 90 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开):1001,张三, 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开): 1002 张三 95 .0 1001 李四 75.0,成绩部分不能使用编写程序,用户输入学号、姓名和成绩(用逗号隔 开),按照降序输出学号、姓名和平均成绩。 例如: 请输入学号,姓名和成绩(用逗号隔开):1001,张三, 80 100 70 90 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开):1001,张三, 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开): 1002 张三 95 .0 1001 李四 75.0,成绩部分不能使用* 表示剩余所有元素
时间: 2024-03-18 12:42:24 浏览: 38
汇编成绩学号排名次
4星 · 用户满意度95%
抱歉,我是一个自然语言处理模型,无法直接编写程序。但是,以下是一个 Python 代码示例,可以实现您想要的功能:
```python
data = {}
while True:
input_str = input("请输入学号,姓名和成绩(用逗号隔开):")
if input_str == "":
break
input_list = input_str.split(",")
if len(input_list) < 3:
print("输入格式错误,请重新输入!")
continue
stu_id = input_list[0].strip()
name = input_list[1].strip()
scores = input_list[2:]
try:
scores = list(map(float, scores))
except ValueError:
print("输入格式错误,请重新输入!")
continue
avg_score = sum(scores) / len(scores)
data[stu_id] = {"name": name, "avg_score": avg_score}
sorted_data = sorted(data.items(), key=lambda x: x[1]["avg_score"], reverse=True)
print("学号\t姓名\t平均成绩")
for item in sorted_data:
stu_id = item[0]
name = item[1]["name"]
avg_score = item[1]["avg_score"]
print(f"{stu_id}\t{name}\t{avg_score:.1f}")
```
您可以复制这段代码并在 Python 环境中运行它,以得到您想要的输出结果。
阅读全文