在C中,我会这样做:
int i;
for (i = 0;; i++)
if (thereIsAReasonToBreak(i))
break;
Run Code Online (Sandbox Code Playgroud)
如何在Python中实现类似的功能?
我正在学习Python(使用3.6.2),在我上一堂课上,他们让我做一些我需要进行无限for循环的事情.出于某种原因,老师不希望我们while用于整个练习.这是它变得复杂的地方......
所以,我一直在寻找一种方法来做到这一点.但是,这也很困难,因为老师不希望我们使用我们在课堂上没有看到的任何命令.所以我不能使用.append,sys函数,好吧,我甚至不能使用休息.我必须找到一种方法来处理"简单"命令.
我以为我可以这样做;
x=1
for i in range(x):
do_something()
x += 1
Run Code Online (Sandbox Code Playgroud)
但是,它似乎没有用.我认为那是因为Python没有再次读取该范围的值?
我找不到办法,但经过几个小时的思考后,我发现自己可以使用一个小的解决方法:
def ex():
print("Welcome")
for i in range(1):
math = int(input("Please insert grades obtained at Math, or insert 666 to exit" ))
if(math > 0 and math < 60):
print("Sorry. You failed the test")
return ex():
elif(math >= 60 and math <= 100):
print("Congratulations. You passed the test")
return ex():
elif(math == 666): …Run Code Online (Sandbox Code Playgroud) 我有一个用例,我需要重复一些代码块:
我想知道,是否有一些 Python 内置方法可以:
while循环的方式重复for循环的方式重复注意:我知道我可以使用if语句(取决于是否存在上限),并在 afor或whileloop之间切换。我试图不让代码块重复两次,或者它分解为另一个函数。
当前实施
我使用 Python 3.8.2编写了以下有缺陷的(见下文)for_while_hybrid.py。
from typing import Iterator
def iter_for_while(num_yield: int = None) -> Iterator[int]:
"""Generate an incrementing counter.
This enables one to make a for loop or a while loop, depending on args.
Args:
num_yield: Number of times to yield.
If left as None, the generator makes a while loop
If …Run Code Online (Sandbox Code Playgroud) 如果我有这样的代码:
for i in range(3):
print("Hello")
Run Code Online (Sandbox Code Playgroud)
有没有办法让它永远循环打印for?