py异常方面
本帖最后由 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)
except (ValueError,TypeError) as e: #直接指名道姓效率更高一些
print("第{}个位置元素转换为整型时发生异常".format(i+1))
else:
print("第{}个位置元素是数值型".format(i+1))
finally:
print("第{}个位置元素为{}".format(i+1,a))
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:
。。。。
本帖最后由 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 = int(ls)# 将 列表的第i个元素转化为整型
except ValueError:# 捕获ValueError
print(f'第{i+1}个位置元素转换为整型时发生异常:ValueError')
except TypeError:# 捕获TypeError
print(f'第{i+1}个位置元素转换为整型时发生异常:TypeError')
print(f'第{i+1}个位置元素为', ls)# 题目要求不管转化是否出错都打印
哈哈啊哈哈 我发现错误了{:10_245:} lsa = ['0','1','2','','a',['1','2','3']]
for i in range(len(lsa)):
print("第{}个位置元素为{}".format(i+1,lsa))
try:
inta = int(lsa)
print("第{}个位置元素是数值型".format(i+1))
except:
print("第{}个位置元素转换为整型时发生异常".format(i+1))
本帖最后由 Twilight6 于 2020-5-24 08:16 编辑
ls = ['0', '1', '2', '', 'a', ['1', '2', '3']]
for i in range(len(ls)):
try:
ls = int(ls)# 将 列表的第i个元素转化为整型
except ValueError:# 捕获ValueError
print(f'第{i+1}个位置元素转换为整型时发生异常:ValueError')
except TypeError:# 捕获TypeError
print(f'第{i+1}个位置元素转换为整型时发生异常:TypeError')
print(f'第{i+1}个位置元素为', ls)# 题目要求不管转化是否出错都打印
香蕉君~如果帮助♀到你♂就给个最佳吧~~{:10_273:} Twilight6 发表于 2020-5-21 01:46
香蕉君~如果帮助♀到你♂就给个最佳吧~~
你的头像被盗了{:10_256:} 老八秘制 发表于 2020-5-21 07:22
你的头像被盗了
是啊那个 ZZ 我之前看错一个帖子以为是自己回复的 Twilight6 发表于 2020-5-21 01:46
香蕉君~如果帮助♀到你♂就给个最佳吧~~
空气突然焦♂灼♂{:10_256:} 永恒的蓝色梦想 发表于 2020-5-21 08:12
空气突然焦♂灼♂
{:10_275:}{:10_273:}
https://xxx.ilovefishc.com/album/202003/31/111806sdzhrkjo4ak3px51.jpg 用两个except捕获两种异常并打印异常信息,然后用finally进行元素的输出打印
ls = ['0','1','2','','a',['1','2','3']]
for i in range(len(ls)):
try:
ls = int(ls) # 将列表的第i个元素转化为整型
except ValueError as error1: # 捕获ValueError
print('第%d个位置元素转换为整型时发生异常:'%i,error1)
except TypeError as error2:# 捕获TypeError
print('第%d个位置元素转换为整型时发生异常:'%i,error2)
finally:
print('第%d个位置元素为'%i,ls) # finally语句,不管有没有异常都会执行 Twilight6 发表于 2020-5-21 07:29
是啊那个 ZZ 我之前看错一个帖子以为是自己回复的
谁盗的 焦健鬼 发表于 2020-5-21 10:20
谁盗的
看日志 Twilight6 发表于 2020-5-21 01:46
香蕉君~如果帮助♀到你♂就给个最佳吧~~
真就打印‘第i个位置元素。。。。。’{:10_277:} Cria 发表于 2020-5-24 08:11
真就打印‘第i个位置元素。。。。。’
哈哈香蕉君 不然你是什么要求 Twilight6 发表于 2020-5-24 08:13
哈哈啊哈哈 我发现错误了
自信♂回头{:10_256:} Cria 发表于 2020-5-24 08:41
自信♂回头
如果帮助到你 你懂的 {:10_273:}
https://xxx.ilovefishc.com/album/202003/31/111806sdzhrkjo4ak3px51.jpg
页:
[1]