用Python解决x的n次方

我考虑到了x的所有n次的情况,下面的代码有可能是不完美的,但是肯定是对的。

def aaa(x,n):
    A=isinstance(x,(int,float))   #这是考虑x和n的类型,需要满足条件才可以       
    if A!=True:                                 #往下执行              
        return None            
    B=isinstance(n,(int,float))
    if B!=True:
        return None
    if x==0:
        return None

    s=1       #设置s的初始值
    while n>0:#下面讨论的是n的三种情况
        n=n-1
        s=s*x
        #因为初始值s就等于1,所以可以这样写
    if n==0:
        return s

    else:
        L=abs(n)
        while L>0:
            L=L-1
            s=s*x
    return 1/s#因为当n为负数的时候,需要先求平方,然后再用1来除以这个数
print(aaa('J',3))

你可能感兴趣的:(python3,python中求x的n次方)