我是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 计算变量,或者是否需要循环为我这样做?
我真的不知道从哪里开始,如果你们能提供一些提示,那就太好了。
谢谢
答案 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)))
答案 3 :(得分:0)
试试这个代码:
base = int(input("Enter base: "))
exp = int(input("Enter exponent: "))
def exponent(base, exp):
return pow(base,exp)
exponent(base, exp)
我认为,这是获得答案的最简单方法。