我們的代碼審查員告訴我,下面代碼中的標(biāo)志很糟糕,我需要以“類似 Python”的風(fēng)格重構(gòu)代碼。我真的無法理解如何避免使用此標(biāo)志,這是一個代碼示例:flag = falsefor (i in range(2,4)): zoom() if (check_condition()): flag = true breakif (flag): tap()else: raise Exception("failed")我可以看到唯一的方法來在里面輕點(diǎn)如果。在這種情況下,我將不得不在循環(huán)中添加一個 return 語句,從代碼風(fēng)格的角度來看,這不是最好的主意,不是嗎?所以也許有人可以建議一種更好的方法來組織這段代碼?
2 回答

慕森王
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個贊
您可以將else:語句與語句一起使用for。它僅在循環(huán)正常完成時才執(zhí)行,而不是退出break
for i in range(2, 4):
zoom()
if check_condition():
break
else:
raise Exception("failed")
tap()

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個贊
如果您只是調(diào)用該tab()方法而不是將標(biāo)志值更改為 true ,我認(rèn)為您也不需要這里的標(biāo)志。它會一樣工作。
for (i in range(2,4)):
zoom()
if (check_condition()):
tab()
break
else:
raise Exception("failed")
添加回答
舉報
0/150
提交
取消