在 Python 中模拟 Do-While 循环
在 Python 中,本机不支持 do-while 循环。但是,有多种方法可以实现类似的功能。
一种方法是使用 while True 循环,如下所示:
while True: # Execute loop body if break_condition: break
或者,您可以使用 while 循环在检查中断条件之前通过 if 语句执行循环体:
# Execute loop body if not break_condition: continue
处理 StopIteration异常
要正确处理迭代列表或可迭代时引发的 StopIteration 异常,请使用 try- except 块:
iterator = list_of_ints.__iter__() element = None while True: try: element = iterator.next() except StopIteration: break print(element)
模拟状态机
在提供的示例中,状态机是使用 do-while 循环实现的。要在 Python 中模拟这一点,您可以使用带有条件中断语句的循环:
while True: if state == STATE_CODE: if "//" in s: tokens.add(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_COMMENT else: tokens.add(TOKEN_CODE, s) if state == STATE_COMMENT: if "//" in s: tokens.append(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_CODE else: # Re-evaluate same line continue try: s = i.next() except StopIteration: break
以上是如何在 Python 中模拟 Do-While 循环并处理迭代器?的详细内容。更多信息请关注PHP中文网其他相关文章!