现有成绩列表score=[85,98,65,57,76,91,42,68],通过提示语句("请选择输入(add/update/del/max/min/avg/sort/esc):") 分别实现添加成绩、修改成绩、删除成绩、查最高分、查最低分、求平均分、排序等操作。
时间: 2024-10-24 18:19:27 浏览: 13
成绩查询系统.rar_dz/ScoreQuery.aspx_成绩_成绩查询_成绩查询系统
当然可以,这是一个基于命令行交互的模拟场景,我们将在Python中实现这个功能。首先,我们需要创建一个字典来存储成绩,并实现对应的功能:
```python
# 初始化成绩字典
scores = {'list': [85, 98, 65, 57, 76, 91, 42, 68], 'index': {}}
def menu():
while True:
print("\n请输入操作(add/update/del/max/min/avg/sort/esc):")
choice = input().lower()
if choice == 'add':
score = int(input("请输入新分数:"))
scores['list'].append(score)
scores['index'][score] = len(scores['list']) - 1
elif choice == 'update':
index = int(input("请输入要修改的分数索引:"))
new_score = int(input("请输入新的分数:"))
scores['list'][index] = new_score
scores['index'][new_score] = index
elif choice == 'del':
index = int(input("请输入要删除的分数索引:"))
del scores['list'][index]
for key in sorted(scores['index'], reverse=True):
if scores['index'][key] > index:
scores['index'][key] -= 1
elif choice == 'max':
print(f"最高分为:{scores['list'][-1]}")
elif choice == 'min':
print(f"最低分为:{scores['list'][0]}")
elif choice == 'avg':
avg_score = sum(scores['list']) / len(scores['list'])
print(f"平均分为:{avg_score}")
elif choice == 'sort':
scores['list'] = sorted(scores['list'])
scores['index'] = {v: k for k, v in enumerate(scores['list'])}
elif choice == 'esc':
break
else:
print("无效的选择,请重新输入.")
menu()
```
在这个程序中,用户可以选择相应的选项进行操作,例如添加、更新、删除分数,查看最高分和最低分,计算平均分以及对成绩列表进行排序。如果输入'esc',则退出程序。
阅读全文