Python 简化 if 和循环

我们的代码审查员告诉我,下面代码中的标志很糟糕,我需要以“类似 Python”的风格重构代码。我真的无法理解如何避免使用此标志,这是一个代码示例:


flag = false

for (i in range(2,4)):

   zoom()

   if (check_condition()):

      flag = true

      break


if (flag):

   tap()

else:

   raise Exception("failed")

我可以看到唯一的方法来在里面轻点如果。在这种情况下,我将不得不在循环中添加一个 return 语句,从代码风格的角度来看,这不是最好的主意,不是吗?


所以也许有人可以建议一种更好的方法来组织这段代码?


ITMISS
浏览 232回答 2
2回答

慕森王

您可以将else:语句与语句一起使用for。它仅在循环正常完成时才执行,而不是退出breakfor i in range(2, 4):    zoom()    if check_condition():        breakelse:    raise Exception("failed")tap()

一只甜甜圈

如果您只是调用该tab()方法而不是将标志值更改为 true ,我认为您也不需要这里的标志。它会一样工作。for (i in range(2,4)):   zoom()   if (check_condition()):      tab()      breakelse:   raise Exception("failed")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python