Member 14636305 Ответов: 1

Как вывести мощность значения


класс power1:
def pow(self,x,n):
если x==0 или x==1 или n==1:
вернуться х
если x==-1:
ifn%2==0
возврат 1
еще:
возврат -1
если n==0:
возврат 1
if n<0:return slef.pow(x,-n)
val=self.pow(x,n//2)
если n%2==0:
возврат val*val
reutrn val*val*x
obj1=pow()
переменная1=obj1.мощность(3,3)
печать(val1)

Что я уже пробовал:

я новичок и у меня есть ошибка в строке 16

Patrice T

КАКОЕ СООБЩЕНИЕ ОБ ОШИБКЕ ?

phil.o

Поскольку Python очень важен для отступа, когда вы публикуете неформатированный код python, вы отбрасываете много элементов, которые важны при анализе проблемы. Это делает ваш вопрос гораздо более трудным для ответа, потому что тогда возникает много диких догадок.
Пожалуйста, используйте теги <pre> вокруг ваших блоков кода и обратите внимание на форматирование.

CPallini

Пожалуйста, как было предложено, сделайте отступ в вашем коде с помощью тегов <pre>.

1 Ответов

Рейтинг:
2

Patrice T

Первая очевидная ошибка: орфографическая ошибка

reutrn val*val*x

следует не
return val*val*x

Первое исправление вызовет еще одну ошибку, потому что вы можете(t имеет 2 возврата в одной ветви кода
return val*val
reutrn val*val*x # the second return is forbidden


[Обновление]
вероятно, у вас также есть еще одна ошибка в строке 12
<pre>if n<0:return slef.pow(x,-n)

еще одна орфографическая ошибка
<pre>if n<0:return self.pow(x,-n)


Нота: я не знаю, что должен делать этот код.


CPallini

5.

Patrice T

Спасибо