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 loop on python
Почему вы используете '+ ='? Вы используете его, когда назначаете новое значение 'new_l [i]'; это должно быть просто '='. И вы используете его, когда вы сравниваете, это должно быть '=='. Кроме того, вы увеличиваете 'i', прежде чем сравнивать значения. – Barmar
Другая проблема, которую вы назначаете 'new_l [i]', но затем вы используете 'new_L [i]'. Python чувствителен к регистру. – Barmar
Вам не нужен массив 'new_L'. Просто проверьте, если 'L [i] == x ** i'. – Barmar