Python 循环结束后从头继续开始
在Python编程中,我们经常会使用循环来重复执行一段代码,比如使用for循环遍历列表,或者使用while循环实现某种逻辑。但是有时候,我们希望当循环执行完毕之后,能够重新从头开始执行循环,而不是停止。在这篇文章中,我们将探讨几种方法来实现这个需求。
方法一:使用while True 循环
count = 0
while True:
if count >= 3:
break
count += 1
print("Geek-docs.com")
运行结果:
Geek-docs.com
Geek-docs.com
Geek-docs.com
上面的代码使用了一个无限循环while True
,然后在循环体中增加了一个计数器count,当计数器count大于等于3时,使用break
语句跳出循环,实现了从头重新开始执行循环的效果。
方法二:使用函数递归
def print_geek_docs(count):
if count >= 3:
return
print("Geek-docs.com")
print_geek_docs(count + 1)
print_geek_docs(0)
运行结果:
Geek-docs.com
Geek-docs.com
Geek-docs.com
上面的代码定义了一个递归函数print_geek_docs
,在函数内部先打印”Geek-docs.com”,然后递归调用自身,直到计数器count大于等于3时返回,实现了循环结束后从头继续开始。
方法三:使用生成器函数
def geek_docs_gen():
count = 0
while True:
if count >= 3:
count = 0
yield "Geek-docs.com"
count += 1
gen = geek_docs_gen()
for _ in range(5):
print(next(gen))
运行结果:
Geek-docs.com
Geek-docs.com
Geek-docs.com
Geek-docs.com
Geek-docs.com
上面的代码定义了一个生成器函数geek_docs_gen
,在函数内部使用一个无限循环while True
,当计数器count大于等于3时重置count为0,然后使用yield
关键字产生”Geek-docs.com”,通过调用next()
函数来迭代生成器并打印输出。
方法四:使用itertools.cycle
import itertools
geek_docs = itertools.cycle(["Geek-docs.com"])
for _ in range(5):
print(next(geek_docs))
运行结果:
Geek-docs.com
Geek-docs.com
Geek-docs.com
Geek-docs.com
Geek-docs.com
上面的代码使用了Python标准库中的itertools.cycle
函数,它会无限循环地遍历一个可迭代对象,这里我们传入一个包含一个元素”Geek-docs.com”的列表,再调用next()
函数来迭代输出,实现了循环结束后从头继续开始。
通过以上几种方法,我们可以实现在循环结束后重新从头开始执行循环的效果,可以根据具体场景选择不同的方法来实现需求。希朩读者通过本文的介绍和示例代码,对如何在Python中实现循环结束后从头继续开始有了更清楚的了解。