「已注销」 2022-04-29 05:10 采纳率: 79.3%
浏览 55
已结题

python捕获异常语句的问题

img

请问要如何修改才能让打分在0-100分内不触发except

try:
#可能出现的错误代码
x=int(input("评委人数"))
assert x>2
except ValueError:
print("必须为整数")
except:
print("人数必须大于2")
a1=[]
for i in range(x):
try:
a=input("请输入第{}位评委的分数:".format(i+1))
assert a>=0 and a<=100
a1.append(a)
print(a1[i])
except:
print("打分请在0-100分内,请重新打分")
a=input("请输入第{}位评委的分数:".format(i+1))

max =a1[0]
min=a1[0]
for i in range (1,x):
if a1[i]>=max:
max=a1[i]
elif a1[i]<=min:
min=a1[i]
a1.remove(max)
a1.remove(min)
print(a1)
s=0
for i in range(x-2):
s+=int(a1[i])
average=s/(i+1)
print(round(average,1))

展开全部

  • 写回答

6条回答 默认 最新

  • 关注

    input()输入的是字符串,字符串不能和数值比较,应该用int()或float()转成数值
    改为

        a=float(input("请输入第{}位评委的分数:".format(i+1)))
    

    你题目的解答代码如下:

    try:
        #可能出现的错误代码
        x=int(input("评委人数"))
        assert x>2
    except ValueError:
        print("必须为整数")
    except:
        print("人数必须大于2")
    else:  # 评委人数正确才执行下边代码
        a1=[]
        for i in range(x):
            while True:  # 加个while循环,当输入不在0-100分内,要重新输入这个评委的分数, 不加while循环,再重新输入的是下一个评委的分数, 
                try:
                    a=float(input("请输入第{}位评委的分数:".format(i+1))) #用float()转成数值
                    assert a>=0 and a<=100
                    a1.append(a)
                    print(a1[i])
                    break
                except:
                    print("打分请在0-100分内,请重新打分")
    
        a1.remove(max(a1))
        a1.remove(min(a1))
        print(a1)
        average=sum(a1)/len(a1)
        print(round(average,1))
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月9日
  • 已采纳回答 5月2日
  • 创建了问题 4月29日

悬赏问题

  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
  • ¥50 libwebsockets 如何添加其他socket事件回调
  • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路
  • ¥15 esium自定义材质拉伸问题
  • ¥15 cmake+mingw使用<mysqlx/xdevapi.h>报错
  • ¥15 eNSP中防火墙的使用
  • ¥15 不能对数据库增删改但是可以查询
  • ¥15 关于#mlnet#的问题:mlnet相关请求(语言-c#)
  • ¥15 lvgl7.11怎么做出文字被选中的效果
  • ¥50 如何快速查看手机目标app的主要服务器ip
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部