m0_64542878 2022-12-13 20:57 采纳率: 85.7%
浏览 75
已结题

3个关于python异常处理及调试的问题

3个关于python异常处理及调试的问题:
1、求给定列表中数据类数据的和,要求使用try……excpt……else语句,输出结果须与图片一致。【参考代码行数:11行】

img

2、对除法操作过程中可能出现的多种异常分别进行处理,须处理三种异常:ZeroDivisionError,TypeError,IndexError。输出结果须与图片一致。【参考代码行数:19行】

img

3、写一个函数check_grade(grade),当grade不在0~100之间时,用raise 抛出一个异常。对给定的stu_grade中的学生成绩进行检测,通过try……except进行捕获,并按要求输出结果。【参考代码行数:10行】

img

  • 写回答

2条回答 默认 最新

  • 一切因为有你 2022-12-13 22:09
    关注

    ##1

    
    alist=['12','23','-','1.2','35Y','2.3','---']
    
    lt1=[]
    lt2=[]
    sm=0
    for i in alist:
        try:
            a=float(i)
        except:
            lt2.append(i)
        else:
            lt1.append(i)
            sm+=a
    
    print('+'.join(lt1)+'='+str(sm))
    print('列表中{}不是数值型数据'.format(lt2))
    

    img


    ##2

    a=3
    ntuple=(0,3,5,'hello',None,[1,2,3],3.6)
    
    for i in range(8):
        try:
            b=ntuple[i]
            c=3/b
        except ZeroDivisionError:
            print("除数不能为0!")
        except TypeError as e:
            if type(b)==str:
                print("被除数为整数,除数不能为字符串!")
            elif b is None:
                print("被除数为整数,除数不能为空值!")
            elif type(b)==list:
                print("被除数为整数,除数不能为列表!")
            else:
                print(e)
        except IndexError:
            print("访问元组越界!当前索引值为{},超出索引最大值{}!".format(i,len(ntuple)))
    
    

    img

    ##3 你的结果图是2 的,不知道你的结果截图

    def check_grade(grade):
        if grade<0 or grade>100:
            raise ValueError ('成绩不在0~100之间')
            
    stu_grade={'张三':88,'李四':101,'钱五':-10,'张三丰':98,'王五':90,'钱六':111,'王一':99,'小李':59,'张飞':-90}
    for k,v in stu_grade.items():
        try:
            check_grade(v)
        except Exception as e:
            print(k,e)
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月13日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来