为了账号安全,请及时绑定邮箱和手机立即绑定

Python 正则表达式 - 检查嵌套循环的字符串

Python 正则表达式 - 检查嵌套循环的字符串

qq_遁去的一_1 2022-07-26 16:26:19
输入:包含一段代码的字符串。目标:查找字符串输入是否包含:-嵌套循环例如fruits = ["apple", "banana", "cherry"]for x in fruits:  print(x)  for y in x:     print(y)而……为我无法专门获取嵌套循环的正则表达式。任何帮助/建议将不胜感激!
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

基于@Kevin 对“ ast.parse ”的建议


我可以使用


def hasRecursion(tree):

    for node in [n for n in ast.walk(tree)]:

            nodecls = node.__class__

            nodename = nodecls.__name__

            if isinstance(node, (ast.For, ast.While)):

                for nodeChild in node.body:     

                    #node.body Or ast.iter_child_nodes(node)

                    if isinstance(nodeChild, (ast.For, ast.While)):

                        return True

return False





expr="""

for i in 3:

   print("first loop")

   for j in i:

        print("nested loop")


print('normal')

"""


tree = ast.parse(expr, mode="exec")


print(hasRecursion(tree))

ast.parse 代码示例


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号