[英]***Time limit exceeded*** error on python program
當我嘗試打印此行時:print(perfect_square(0)) 我應該得到 True 但我得到了超出時間限制的錯誤,我不知道如何修復它。
我嘗試將其更改為 elif 語句而不是 2 個單獨的 if 語句,但我仍然收到該錯誤
這是我當前的代碼:
def perfect_square(n):
s = 1
while s != n:
if s*s == n:
return True
elif s == 0:
return True
else:
s +=1
return False
def perfect_cube(n):
s = 1
while s != n:
if s*s * s == n:
return True
elif s == 0:
return True
else:
s +=1
return False
我似乎很清楚為什么perfect_square(0)
和perfect_cube(0)
情況會導致無限循環。 您開始s=1
並始終遞增它s+=1
。 它永遠不會等於n=0
所以你得到一個無限運行的程序。 也許嘗試檢查n
的無效值?
def perfect_cube(n):
if n < 1: return False
# ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.