如前所述: 1.代码段中的 * C * 示例不是无限的,而是依赖于数学回绕(当超过整型类型界限时),并且(对于大多数实现)将执行***232 - 5次。 如果您想在 * C * 中实现真正的无限循环,请使用: * 一月一日 1.您可以改用***while***循环 由于 * Python * 的 * for * 循环的本质,你想要的行为不能被 * OOTB * 复制,但是有一些技巧(将 * while * 转换为 * for *)。 这可以通过[Python.Docs]来完成:循环(可迭代):
>>> import itertools as its
>>>
>>>
>>> it = its.cycle([None]) # Infinite iterable
>>>
>>> next(it)
>>> next(it)
>>> next(it)
>>> next(it)
>>>
>>> for _ in it:
... if input("Press 'n' to exit: ").lower() == "n":
... break
...
Press 'n' to exit: y
Press 'n' to exit:
Press 'n' to exit: A
Press 'n' to exit: Y
Press 'n' to exit: t
Press 'n' to exit: 1.618
Press 'n' to exit: sdf54
Press 'n' to exit: n
>>>
2条答案
按热度按时间hyrbngr71#
Python中第二个代码片段的等效表达式为
由于
i
在每个周期减少1,并且永远不会超过10,因此循环永远不会退出。t1rydlwq2#
如前所述:
1.代码段中的 * C * 示例不是无限的,而是依赖于数学回绕(当超过整型类型界限时),并且(对于大多数实现)将执行***232 - 5次。
如果您想在 * C * 中实现真正的无限循环,请使用: * 一月一日
1.您可以改用***while***循环
由于 * Python * 的 * for * 循环的本质,你想要的行为不能被 * OOTB * 复制,但是有一些技巧(将 * while * 转换为 * for *)。
这可以通过[Python.Docs]来完成:循环(可迭代):