如何在FOR循环中退出嵌套IF逻辑而不终止整个FOR循环?
Python循环跳出嵌套if进入下一轮迭代的解决方案
你需要使用Python内置的continue关键字即可实现需求:continue的作用是直接终止当前这一轮循环的所有后续逻辑,直接回到循环头部取下一个元素开始迭代,无论你中间嵌套了多少层if判断,只要是在对应for循环的作用域内调用,就会立刻触发下一轮job的处理。
修改后的代码示例(同时修正了你原代码中未闭合的引号、括号语法错误):
for job in jobs: if int(dpr) <= int(user.dpr): if str(user.gender) == 'male': if str(orpi) == 'yes': if int(profil) >= int(user.profil): bot.send_message(message.chat.id, str(name)) continue else: if int(profil) <= int(user.profil): bot.send_message(message.chat.id, str(name)) continue else: if str(orpi) == 'yes': if int(profil_fem) >= int(user.profil): bot.send_message(message.chat.id, str(name)) continue else: if int(profil_fem) >= int(user.profil): bot.send_message(message.chat.id, str(name)) continue
额外优化建议:你当前的代码嵌套层级过深,后续维护难度较高,可以考虑通过提前判断、条件合并的方式减少嵌套层级,进一步提升代码可读性。
内容的提问来源于stack exchange,提问作者Floyd1337
相关产品推荐
相关产品推荐

