我们的代码审查员告诉我,下面代码中的标志很糟糕,我需要以“类似 Python”的风格重构代码。我真的无法理解如何避免使用此标志,这是一个代码示例:flag = falsefor (i in range(2,4)): zoom() if (check_condition()): flag = true breakif (flag): tap()else: raise Exception("failed")我可以看到唯一的方法来在里面轻点如果。在这种情况下,我将不得不在循环中添加一个 return 语句,从代码风格的角度来看,这不是最好的主意,不是吗?所以也许有人可以建议一种更好的方法来组织这段代码?
2 回答

慕森王
TA贡献1777条经验 获得超3个赞
您可以将else:语句与语句一起使用for。它仅在循环正常完成时才执行,而不是退出break
for i in range(2, 4):
zoom()
if check_condition():
break
else:
raise Exception("failed")
tap()

一只甜甜圈
TA贡献1836条经验 获得超5个赞
如果您只是调用该tab()方法而不是将标志值更改为 true ,我认为您也不需要这里的标志。它会一样工作。
for (i in range(2,4)):
zoom()
if (check_condition()):
tab()
break
else:
raise Exception("failed")
添加回答
举报
0/150
提交
取消