该函数现在完成成这样,但是输入除了A到O以外的任何元素都会报错,如果想让他不报错并提示要求,如何在input前加try呢
Python 中遇到的问题,求解
该函数现在完成成这样,但是输入除了A到O以外的任何元素都会报错,如果想让他不报错并提示要求,如何在input前加try呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-12-16 13:31关注
在32行那个if后面加个else分支来处理输入的不是A到O之间的值,可以在这个else分支用个continue 继续循环再次获取学生姓名即可,修改如下:
参考链接:
round在python是什么意思_细说python中的round()方法_weixin_39998903的博客-CSDN博客import random import time random.seed(1) scores=[random.randint(35,100) for _ in range(15)] students=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'] print(scores) students_scores=dict(zip(students,scores)) print(students_scores) List = sorted(students_scores.items(),key=lambda x:x[1],reverse=True) to_dict=dict(List) print('成绩排列:',to_dict) average = round(sum(scores)/len(scores),2) while True: name=input("请输入要查询的学生姓名:") if name in students_scores.keys(): mean=0 else:# 当输入的学生姓名不是A到O之间的字母,则继续循环再次获取学生姓名 continue for student in students_scores: mean+=students_scores[student] mean/=len(students_scores) if students_scores[name]>mean: print(f'{name}同学的分数是{students_scores[name]},该学生的成绩属于上等水平') elif students_scores[name]==mean: print(f'{name}同学的分数是{students_scores[name]},该学生的成绩属于中等水平') else: print(f'{name}同学的分数是{students_scores[name]},该学生的成绩属于下等水平') print("全班平均分为",mean)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗