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
あなたが私に指摘している間違いを変更しましたが、まだ動作しません。WhileループでPython
なぜあなたは '+ ='を使用していますか? 'new_l [i]'の新しい値を代入するときに使用しています。それはちょうど '='でなければなりません。そして、あなたが比較しているときにそれを使用しています、それは '=='でなければなりません。また、値を比較する前に 'i'をインクリメントしています。 – Barmar
もう一つの問題は、 'new_l [i]'に代入しますが、 'new_L [i]'を使うことです。 Pythonでは大文字と小文字が区別されます。 – Barmar
'new_L'という配列は必要ありません。 'L [i] == x ** i'の場合だけテストしてください。 – Barmar