我目前正在让python3一遍又一遍地做同样的事情,以计算我可以买多少花:
while True:
try:
flowerprices=ApiGetFlowerPrices()
if flowerprices>3:
<CreateException>
else: considerbuying()
Except:
pass
因此,如果花卉价格高于3,我只需重新开始,刷新所有数据。如果价格高于3,我不想考虑购买。 我想重新启动while循环,所以我不会在“break”之类的东西之后。
我想我可以尝试“a”+ float(2)来创建异常,但更优雅的替代方案是什么?
答案 0 :(得分:1)
您既不需要break
也不需要例外。
如果价格低于3,您只想考虑购买,因此:
while True:
flowerprices = ApiGetFlowerPrices()
if flowerprices < 3:
considerbuying()
注意这将创建一个无限循环,因此您需要考虑何时停止检查价格。
答案 1 :(得分:0)
如果你break
循环,它将完全停止。您想使用continue
,以便再次调用ApiGetFlowerPrices()
。如果您的ApiGetFlowerPrices
可能会返回错误而不是数字,那么您仍然应该使用try / except。
while True:
try:
flowerprices=ApiGetFlowerPrices()
if flowerprices>3:
continue # It will skip the rest of the loop and start again.
else: considerbuying()
Except:
pass
如果您不需要尝试/除外,请考虑answer by DeepSpace。