编写程序,用户输入学号、姓名和成绩(用逗号隔 开),按照降序输出学号、姓名和平均成绩。 例如: 请输入学号,姓名和成绩(用逗号隔开):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 14:42:04 浏览: 49
好的,以下是 Python3 的代码实现:
```python
students = [] # 用于存储学生信息的列表
# 循环输入学生信息
while True:
input_str = input("请输入学号,姓名和成绩(用逗号隔开):")
if not input_str: # 如果用户输入为空,则结束输入
break
items = input_str.split(",") # 将输入的字符串按逗号分割为列表
student_id = items[0].strip()
name = items[1].strip()
scores = [float(s.strip()) for s in items[2:]] # 将成绩列表转换为浮点数
avg_score = sum(scores) / len(scores) # 计算平均成绩
students.append([student_id, name, avg_score]) # 将学生信息添加到列表中
# 按平均成绩进行降序排序
students.sort(key=lambda x: x[2], reverse=True)
# 输出排序后的学生信息
for student in students:
print(f"{student[0]} {student[1]} {student[2]:.1f}")
```
注意,这里使用了 f-string 格式化输出,需要 Python 3.6 或以上版本支持。如果使用 Python 3.5 或以下版本,可以使用字符串格式化操作,例如:
```python
print("{} {} {:.1f}".format(student[0], student[1], student[2]))
```
阅读全文