python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)

查看:501
本文介绍了python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

def con(x):
    if x==3:
        continue #会报错

def con2(x):
    if x == 4:
        continue #会报错
for i in range(0,10):
    con(i)
    con2(i)
    print(i)
    

小弟的意思是,若满足def内的条件,则外部调用的for循环做continue。例如,在例子中,i的值若为3或者4,则continue。因为for中调用的def方法会有很多个,而且实际场景要比例子复杂很多,所以感觉一个一个判断返回值并不是很简洁。想请问大家有没有什么方法,实现小弟的这个述求,非常感谢大家~

解决方案

可以通过抛个特定异常的方式来影响 for 循环:


class Abort(Exception):
    pass

def con(x):
    if x==3:
        raise Abort()

def con2(x):
    if x == 4:
        raise Abort()
for i in range(0,10):
    try:
        con(i)
        con2(i)
    except Abort:
        continue
    print(i)
    

这篇关于python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆