我刚开始使用Python 2.7。 我试图制作一个程序,执行电源功能(使用循环)而不使用导入。数学 我想我得到了它,除了我的程序不执行负指数。 输出仅为1。 这是我到目前为止所拥有的。
decimal=float(input('Enter the base number:'))
integer=int(input('Enter the exponent number:'))
def power_function(decimal, integer):
num=1
for function in range(integer):
if integer>0:
num=num*decimal
if integer<0:
num=1/(num*decimal)
return num
print power_function(decimal, integer)
答案 0 :(得分:2)
根据负值范围进行修复。
def power_function(decimal, integer):
num=1
if integer>0:
for function in range(integer):
num=num*decimal
if integer<0:
num=1.0 # force floating point division
for function in range(-integer):
num=num/decimal
return num
答案 1 :(得分:1)
我做了一些调整
def power_function (decimal, integer):
num = 1
for function in range (abs(integer)):
if integer > 0:
num *= decimal
if integer < 0:
num *= 1.0/decimal
if integer == 0:
num = 1
return num
答案 2 :(得分:0)
简单修复是对<div id = "output"></div>
使用abs(integer)
:
range
或者只使用reduce:
def power_function(decimal, integer):
num = 1
for function in range(abs(integer)):
num = num*decimal if integer > 0 else num/decimal
return num
power_function(2, 2)
# 4
power_function(2, -2)
# 0.25