您的位置: 网站首页> python基础> 当前文章

try excep在for循环中的使用易错点

老董-我爱我家房产SEO2020-08-01189围观,141赞

  当for循环遇到try except应该如何正确使用呢?有些同学在写程序的时候懒省事直接把try语句写在了for循环的外层,这样一来可能造成程序运行并非你的预期。

  比如现在有个变量num,有个列表lis,需求:把列表所有的元素减去1以后在用num除以它。

  考虑到列表元素减1之后可能是0,而除以0会有异常。于是为了避免程序停止就做了异常处理,但是就用了下面的写法:

# -*- coding: utf-8 -*-

num = 10
lis = [1,2,3,4,5]
new_lis = [i-1 for i in lis]
try:
    for i in new_lis:
        print(num/i)
except Exception as e:
    print(e)

division by zero


  以上写法并没有错误,但是不是你想要的处理结果。因为你写在外部,整个for循环体内一旦出现异常就直接被捕捉到从而跳到except代码段执行,正确的写法应该是把try except语句写到循环内部判断除以每一个元素是否异常。

# -*- coding: utf-8 -*-

num = 10
lis = [1,2,3,4,5]
new_lis = [i-1 for i in lis]
for i in new_lis:
    try:
        print(num/i)
    except Exception as e:
        print(e)
division by zero
10.0
5.0
3.3333333333333335
2.5

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    try excep在for循环中的使用易错点文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200