我正在寻找一种好的用法来执行以下操作:给定一个名为retry
的布尔变量,如果该变量为True
,则在while True
中运行一些指令序列循环,如果变量为False
,则只需运行一次指令序列即可。
我能想到的最好的方法是:
while True:
# my code
if not retry:
break
我遇到的问题是while True
在顶部,并且仅在循环的结尾和内部,您会看到逻辑。我认为这不是很清楚。
这是简单明了的一个:
if retry:
while True:
# my code
else:
# my code
但是您正在复制代码。
另一个重复代码的错误选择:
# my code
while retry:
# my code
有什么想法吗?