python去掉输入的数中的最高分最低分求平均分并按人名排序
时间: 2024-03-24 18:39:09 浏览: 15
好的,你可以尝试以下代码:
```python
scores_dict = {}
while True:
name = input("请输入学生姓名,输入 q 退出输入:")
if name == "q":
break
scores = input("请输入该学生的成绩,以空格分隔:")
scores_list = scores.split()
scores_list = [int(score) for score in scores_list]
scores_list.sort()
scores_list = scores_list[1:-1]
average_score = sum(scores_list) / len(scores_list)
scores_dict[name] = average_score
sorted_scores = sorted(scores_dict.items(), key=lambda x: x[0])
for name, score in sorted_scores:
print(name, "的平均分为:", score)
```
这段代码将会让你输入学生姓名和成绩,以空格分隔。每输入一个学生的信息,程序就会计算该学生的平均分,并将姓名和平均分存储在字典 `scores_dict` 中。当你输入 `q` 后,程序会停止输入并将字典按照姓名排序,并输出每个学生的姓名和平均分。
相关问题
python去掉输入的数中最高分最低分求平均分
好的,这是一个关于Python编程的问题,我会尽力回答。首先,你需要先获取用户输入的数字列表。然后,你可以使用Python的内置函数来找到列表中的最高分和最低分,例如 `max()` 和 `min()` 函数。接下来,你可以从列表中删除这两个分数,然后计算剩余分数的平均值并输出。下面是一段代码示例:
```python
# 获取用户输入的数字列表
scores = []
while True:
try:
score = input("请输入一个数字(输入 q 结束):")
if score == 'q':
break
scores.append(float(score))
except ValueError:
print("输入有误,请重新输入!")
# 去掉最高分和最低分
highest = max(scores)
lowest = min(scores)
scores.remove(highest)
scores.remove(lowest)
# 计算平均分并输出结果
average = sum(scores) / len(scores)
print("平均分为:", average)
```
希望这个代码示例能够帮助你解决这个问题!
python去掉输入的数中的最高分最低分求平均分
好的,我可以帮你解决这个问题。你可以尝试以下代码:
```python
scores = input("请输入一串数字,以空格分隔: ")
scores_list = scores.split() # 将输入的字符串转换为列表
scores_list = [int(score) for score in scores_list] # 将列表中的字符串转换为整数
scores_list.sort() # 将列表中的数字升序排序
scores_list = scores_list[1:-1] # 去掉最高分和最低分
average_score = sum(scores_list) / len(scores_list) # 求平均分
print("平均分为:", average_score)
```
这段代码将会先让你输入一串数字,以空格分隔。接着,将输入的字符串转换为列表,并将列表中的字符串转换为整数。然后,将列表中的数字升序排序,并去掉最高分和最低分。最后,求出剩余数字的平均分并输出。