def powers(L):
'''
(list of ints) -> bool
Return True if the given list of ints is a list of powers of some
int x of the form [x^0, x^1, x^2, x^3, ...] and False otherwise.
>>>powers[1, 3, 9, 27, 81]
True
'''
i = 1
x = L[0]
while i < len(L):
if L[i] == x**(i+1):
i += 1
return True
else:
return False
我改變了你指出的錯誤,但它仍然無法正常工作..你能幫我嗎?雖然python上的循環
爲什麼你使用'+ ='?當你指定new_l [i]'的新值時,你正在使用它;那應該是'='。你在比較時使用它,應該是'=='。另外,在比較值之前,你正在增加'i'。 – Barmar
另一個問題,你分配給'new_l [i]',但是然後你使用'new_L [i]'。 Python區分大小寫。 – Barmar
你不需要數組'new_L'。只要測試'L [i] == x ** i'。 – Barmar