Python简化if和loop

时间:2019-03-19 08:14:30

标签: python

我们的代码审阅者告诉我,以下代码中的flag不好,我需要以“类似于Python”的样式重构代码。我真的不明白如何避免使用此标志,这是代码示例:

flag = false
for (i in range(2,4)):
   zoom()
   if (check_condition()):
      flag = true
      break

if (flag):
   tap()
else:
   raise Exception("failed")

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

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

2 个答案:

答案 0 :(得分:4)

您可以将else:语句与for语句一起使用。仅在循环正常结束时执行,而不用break

退出
for i in range(2, 4):
    zoom()
    if check_condition():
        break
else:
    raise Exception("failed")

tap()

答案 1 :(得分:-1)

如果您只是调用tab()方法而不是将flag值更改为true,那么我也不认为这里需要falg。它将起作用。

for (i in range(2,4)):
   zoom()
   if (check_condition()):
      tab()
      break
else:
   raise Exception("failed")