【发布时间】:2016-01-03 00:43:26
【问题描述】:
假设我有以下简单代码:
useText = True
for i in range(20):
if useText:
print("The square is "+ str(i**2))
else:
print(i**2)
我使用变量 useText 来控制打印正方形的方式。它在运行循环时不会改变,所以每次循环运行时检查它对我来说似乎效率低下。有没有办法在循环之前只检查一次useText,然后总是根据该结果打印出来?
这个问题经常出现在我身上。在这个简单的情况下当然没关系,但我可以想象这会在更复杂的情况下导致性能下降。
【问题讨论】:
-
为什么不使用两个循环?
-
那么如果useText发生变化,它会如何变化?这个例子是否像一个简单的 UI,其中 useText 是一个切换,而 for 循环在某处的主运行循环中?我只是想把它放在一个上下文中。