使用循环的电源功能

时间:2016-09-24 04:58:24

标签: python python-2.7 function loops

我刚开始使用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)

3 个答案:

答案 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