您的位置: 网站首页> python基础> 当前文章
try excep在for循环中的使用易错点
老董-我爱我家房产SEO2020-08-01169围观,134赞
当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。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
try excep在for循环中的使用易错点文章写得不错,值得赞赏