不会停止的循环?

2024-03-29 06:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,我正试图编写一个循环来查找最大的整数n因此n^3<;12000。我知道有什么不对劲,但我不知道是什么。请帮忙!在

我的代码是:

working = True

n = 12000

while working:
    n = n - 1
    if ((n * n * n) < 12000) and not working:
        print(n)

Tags: and代码lttrueifnot整数working
3条回答

此代码中没有将working的值设置为False,因此working始终是{},因此循环永远不会退出。在

找到答案后,需要将working标志转换为False,如下所示

while working:
    n = n - 1
    if ((n * n * n) < 12000):   # You don't need the  `and not working:` check
        print(n)
        working = False

另一方面,在Python中,您可以找到这样的数字的幂

^{pr2}$

事实证明,你实际问题的答案是22:)

线

while working:

表示只要workingTrue,就将继续循环。您永远不会在循环内将working设置为False,因此它将永远循环。在

你可能想要这样的东西:

^{pr2}$

相关问题 更多 >