Python:计算基数的指数

时间:2016-10-05 03:37:43

标签: python python-3.x

我是python的新手,试图弄清楚如何将指数指定到基数的某个时间,例如。 5 4 ,不使用指数运算符,**。

为此,我试图实现for循环的使用,但问题是我无法弄清楚如何用循环实现这一点。

这是我到目前为止所得到的。

base = int(input("ENTER NUMBER: "))
exponent = int(input("ENTER EXPONENT: "))

for item_name in things_with_item:
    if exponent == 0:
        print("something")
    elif exponent > 0:
        print("something")
    else:
        print("ERROR. TRY AGAIN")

我所困扰的是我应该用什么变量替换" item_name"和" things_with_items"以及如何计算5 4 的答案,如5 * 5 * 5 * 5.我是否需要为5 4 计算变量,或者是否需要循环为我这样做?

我真的不知道从哪里开始,如果你们能提供一些提示,那就太好了。

谢谢

4 个答案:

答案 0 :(得分:2)

range(x)可用于运行循环x次(甚至不注意迭代的值)。如果您从值1开始,则乘以base exponent次,那就是那里的天真取幂。

答案 1 :(得分:0)

试试这段代码:

base = int(input("ENTER NUMBER: "))
exponent = int(input("ENTER EXPONENT: "))
no = base * base
for item_name in range(exponent):
    if exponent == 0:
        print(1)
    elif exponent > 0:
        no += base * exponent * base * item_name
        if no == base ** exponent:
            print(no)
    else:
        print("ERROR. TRY AGAIN")

答案 2 :(得分:0)

尝试

    base = float(input('Enter Num:'))
    exponent = int(input('Enter Exponent:')  #what if I want non integer exponent
    answer = 1 
    if exponent != 0:    #if the exponent is 0 the answer is 1
        for in range(abs(exponent)):
            answer*=base
        if exponent < 0:
            answer = 1/answer
    print('Answer:', answer)

5 ** 4可能是最简单的方法。与指数相乘的次数仅在指数为整数时才有效。我们可以使用对数 例如a ^ b相当于exp(b * log a) 代码现在很直接。

    import math
    base = 5
    exponent = 4
    print(math.exp(exponent*math.log(base))) 

624.9999999999998是答案

答案 3 :(得分:0)

试试这个代码:

base = int(input("Enter base: "))

exp = int(input("Enter exponent: "))

def exponent(base, exp):

   return pow(base,exp)

exponent(base, exp)

我认为,这是获得答案的最简单方法。