[英]Loop that won't stop?
我是Python的新手,我正在嘗試編寫一個循環以查找最大的整數n,因此n ^ 3 <12,000。 我知道有什么問題,但我不知道是什么。 請幫忙!
這是我的代碼:
working = True
n = 12000
while working:
n = n - 1
if ((n * n * n) < 12000) and not working:
print(n)
這段代碼中沒有任何內容將working
的值設置為False
,因此working
始終為True
,因此循環永遠不會退出。
找到答案后,您需要將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中,您可以找到像這樣的數字的冪
n ** 3 == n * n * n
事實證明,您實際問題的答案是22
:)
線
while working:
說只要working
為True
,您就將繼續循環播放。 您永遠不會在循環內部將working
設置為False
,因此它將永遠循環。
您可能想要這樣的東西:
while working:
n = n - 1
if ((n * n * n) < 12000):
working = False
print(n)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.