首页 > 后端开发 > Python教程 > 如何在 Python 中模拟 Do-While 循环并处理迭代器?

如何在 Python 中模拟 Do-While 循环并处理迭代器?

Patricia Arquette
发布: 2024-11-19 19:03:03
原创
1085 人浏览过

How Can I Simulate Do-While Loops and Handle Iterators in Python?

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板