检查 'if' 语句或 'elif' 是否在 Python 中有 else 块

check whether 'if' statement or 'elif' has else block or not in Python

在下面的代码中 'if' 语句没有 'else' 。所以我需要一个函数来告诉我 'if' 是否有 'else' 块

if a==b:
    return True

在下面的代码中 'if' 语句有 'elif' .'elif' 语句没有它的 'else' block.So 我需要一个函数来告诉我是否'elif' 是否有 'else' 块。

if a==b:
    return True
elif a>b:
    return False

如果您想自己解析 python 文件的文本,我会给您一些提示:

  1. 逐行阅读
  2. 使用.startswith("if")
  3. 检查行首是否有'if'
  4. 如果有,记录该行的缩进级别
  5. 如果您发现一行的缩进级别低于您已经记录的级别,或者您找到另一个 if 语句(在同一级别),或者您到达了 EoF,您就知道 if 语句没有
  6. elifs 也一样
  7. 此外,对 ifs 中的 ifs 使用递归。