当前位置: 首页 > 面试题库 >

在Python中从1循环到无穷大

支才
2023-03-14
问题内容

在C语言中,我会这样做:

int i;
for (i = 0;; i++)
  if (thereIsAReasonToBreak(i))
    break;

如何在Python中实现类似的功能?


问题答案:

使用itertools.count

import itertools
for i in itertools.count(start=1):
    if there_is_a_reason_to_break(i):
        break

在Python
2,range()xrange()仅限于sys.maxsize。在Python
3中range()可以更高,尽管不能达到无穷大:

import sys
for i in range(sys.maxsize**10):  # you could go even higher if you really want
    if there_is_a_reason_to_break(i):
        break

因此,最好使用count()



 类似资料:
  • 问题内容: 我有以下循环: 当我执行程序时,它会无限循环打印从-128到127的所有数字。为什么会这样? 问题答案: byte是1字节类型,因此可以在-128 … 127之间变化,因此条件i <128始终为true。当您将1加到127时,它会溢出并变为-128,依此类推(无限循环)…

  • 这是我的代码: 我的问题是如何检查分数是否在范围内,如果输入了错误的输入,如何使循环重复。当我试图运行程序并输入一个超过范围的输入时,它会转到下一个评估数字,而不是再次尝试,直到它是真的。

  • 问题内容: 如果两个模块相互导入会怎样? 为了概括这个问题,Python中的循环导入又如何呢? 问题答案: 导入确实非常简单。只要记住以下几点: 和是可执行语句。它们在运行的程序到达该行时执行。 如果模块不在中,则导入将在中创建新的模块条目,然后在模块中执行代码。在执行完成之前,它不会将控制权返回给调用模块。 如果中确实存在一个模块,则无论导入是否完成执行,导入都会简单地返回该模块。这就是循环导入

  • 问题内容: 我创建的代码为我寻找回文数时提供了数千种解决方案。任务是找到可能的最高编号: 如何使代码仅显示for循环创建的最大值? 问题答案: 该答案在代码中描述为解决方案:

  • 问题内容: 在下面的代码中,我希望循环在+ + =时立即退出。但是,使用语句进行测试表明它一直持续到循环完成为止。我尝试过,然后在语句集中进行设置,但这会导致无限循环。我认为使用然后设置可能有效,但也可以一直运行到循环结束为止。什么是最优雅,最快的退出方式?谢谢。 问题答案: 该循环将只匹配条件时,当控制返回到它,即循环完全执行。因此,这就是即使满足条件也不会立即退出程序的原因。 但是,如果条件没

  • 我目前正在尝试使用Selenium和python来实现一个过程的自动化,但我遇到了一个障碍。该列表是树下列表的一部分。我已经用以下xpath标识了树的基础 我正在尝试循环通过“项目”部分,但需要和点击任何与“输入”标签 由于某些原因。如果我使用下面这样的东西,click()将不起作用。它只有在我使用WebDriverWait时才起作用。我必须使用web驱动等待方法,任何时候,我需要点击页面上的东西