鱼C论坛

 找回密码
 立即注册
查看: 1537|回复: 14

[已解决]py异常方面

[复制链接]
发表于 2020-5-20 23:32:41 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 Cria 于 2020-5-24 08:54 编辑

已知列表['0','1','2','','a',['1','2','3']],采用异常处理结构编写程序,将每个列表元素转换为整型,类型转换过程中若未发生异常,打印“第i个位置元素是数值型”;若发生ValueError和TypeError异常,打印“第i个位置元素转换为整型时发生异常”,并打印异常信息;无论是否存在异常,均打印“第i个位置元素为X”,其中X为该元素的值。
a = ['0','1','2','','a',['1','2','3']]
for i in range(len(a)):
    try:
        inta = int(a[i])
    except (ValueError,TypeError) as e:     #直接指名道姓效率更高一些
        print("第{}个位置元素转换为整型时发生异常".format(i+1))
    else:
        print("第{}个位置元素是数值型".format(i+1))
    finally:
        print("第{}个位置元素为{}".format(i+1,a[i]))
a = ['0','1','2','','a',['1','2','3']]
for index , i in enumerate(a):
    try:
        i = int(i)
    except (ValueError , TypeError):
        print('第%d个位置元素转换为整型时发生异常' % index)
    else:
        print('第%d个位置元素是数值型' % index)
    finally:
        print('第%d个位置元素为%s' % (index,i))
    
拖了这么久,不好意思
给个参考。。。。。。(最佳答案还是很全的)
而且呀
为什么没人用else呢?

emmm。。。。。
try:
        。。。。
execpt:
        。。。。
else:
        。。。。
finally:
        。。。。
最佳答案
2020-5-20 23:32:42
本帖最后由 Twilight6 于 2020-5-24 08:15 编辑
Cria 发表于 2020-5-24 08:11
真就打印‘第i个位置元素。。。。。’

ls = ['0', '1', '2', '', 'a', ['1', '2', '3']]

for i in range(len(ls)):
    try:
        ls[i] = int(ls[i])  # 将 列表的第i个元素转化为整型

    except ValueError:  # 捕获ValueError
        print(f'第{i+1}个位置元素转换为整型时发生异常:ValueError')

    except TypeError:  # 捕获TypeError
        print(f'第{i+1}个位置元素转换为整型时发生异常:TypeError')

    print(f'第{i+1}个位置元素为', ls[i])  # 题目要求不管转化是否出错都打印
哈哈啊哈哈 我发现错误了  

最佳答案

查看完整内容

哈哈啊哈哈 我发现错误了

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
Twilight6 + 2 + 2 成功 PY交易?

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-20 23:32:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-5-24 08:15 编辑
Cria 发表于 2020-5-24 08:11
真就打印‘第i个位置元素。。。。。’

ls = ['0', '1', '2', '', 'a', ['1', '2', '3']]

for i in range(len(ls)):
    try:
        ls[i] = int(ls[i])  # 将 列表的第i个元素转化为整型

    except ValueError:  # 捕获ValueError
        print(f'第{i+1}个位置元素转换为整型时发生异常:ValueError')

    except TypeError:  # 捕获TypeError
        print(f'第{i+1}个位置元素转换为整型时发生异常:TypeError')

    print(f'第{i+1}个位置元素为', ls[i])  # 题目要求不管转化是否出错都打印
哈哈啊哈哈 我发现错误了  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 01:14:43 | 显示全部楼层
lsa = ['0','1','2','','a',['1','2','3']]
for i in range(len(lsa)):
    print("第{}个位置元素为{}".format(i+1,lsa[i]))
    try:
        inta = int(lsa[i])
        print("第{}个位置元素是数值型".format(i+1))
    except:
        print("第{}个位置元素转换为整型时发生异常".format(i+1))

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
Cria + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 01:46:24 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-24 08:16 编辑

ls = ['0', '1', '2', '', 'a', ['1', '2', '3']]

for i in range(len(ls)):
    try:
        ls[i] = int(ls[i])  # 将 列表的第i个元素转化为整型

    except ValueError:  # 捕获ValueError
        print(f'第{i+1}个位置元素转换为整型时发生异常:ValueError')

    except TypeError:  # 捕获TypeError
        print(f'第{i+1}个位置元素转换为整型时发生异常:TypeError')

    print(f'第{i+1}个位置元素为', ls[i])  # 题目要求不管转化是否出错都打印

香蕉君~如果帮助♀到你♂就给个最佳吧~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 07:22:36 | 显示全部楼层
Twilight6 发表于 2020-5-21 01:46

香蕉君~如果帮助♀到你♂就给个最佳吧~~

你的头像被盗了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 07:29:50 | 显示全部楼层

是啊  那个 ZZ 我之前看错一个帖子以为是自己回复的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 08:12:57 | 显示全部楼层
Twilight6 发表于 2020-5-21 01:46

香蕉君~如果帮助♀到你♂就给个最佳吧~~


空气突然焦♂灼♂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 08:14:06 | 显示全部楼层



                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 08:55:47 | 显示全部楼层
用两个except捕获两种异常并打印异常信息,然后用finally进行元素的输出打印
ls = ['0','1','2','','a',['1','2','3']]
for i in range(len(ls)): 
    try:
        ls[i] = int(ls[i]) # 将列表的第i个元素转化为整型
    except ValueError as error1: # 捕获ValueError
        print('第%d个位置元素转换为整型时发生异常:'%i,error1)
    except TypeError as error2:  # 捕获TypeError
        print('第%d个位置元素转换为整型时发生异常:'%i,error2)
    finally:
        print('第%d个位置元素为'%i,ls[i]) # finally语句,不管有没有异常都会执行

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +3 收起 理由
Cria + 3 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 10:20:04 | 显示全部楼层
Twilight6 发表于 2020-5-21 07:29
是啊  那个 ZZ 我之前看错一个帖子以为是自己回复的

谁盗的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-21 10:21:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-24 08:11:13 | 显示全部楼层
Twilight6 发表于 2020-5-21 01:46

香蕉君~如果帮助♀到你♂就给个最佳吧~~

真就打印‘第i个位置元素。。。。。’
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-24 08:12:14 | 显示全部楼层
Cria 发表于 2020-5-24 08:11
真就打印‘第i个位置元素。。。。。’

哈哈香蕉君 不然你是什么要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-24 08:41:07 | 显示全部楼层
Twilight6 发表于 2020-5-24 08:13
哈哈啊哈哈 我发现错误了


自信♂回头
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-24 08:42:20 | 显示全部楼层

如果帮助到你 你懂的

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 03:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表