该函数现在完成成这样,但是输入除了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无用
悬赏问题
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装