无需使用**即可计算指数的迭代函数

时间:2019-04-25 02:53:49

标签: python python-3.x function

我需要编写一个程序,在其中编写一个迭代函数来计算基本*指数的指数,而无需在程序中使用**运算符。

我尝试了已经创建的代码,但是不确定如何解决无法调用“ int”对象的错误。

df.groupby('ID')['ABROAD'].apply(lambda x : x.diff().ne(0).sum()-1)
Out[1182]: 
ID
1    2
2    1
Name: ABROAD, dtype: int64

预期结果将是125的答案,但是由于我的错误,我没有得到任何数字。

2 个答案:

答案 0 :(得分:1)

您需要多次base * base exp次:

def iterPower (base, exp):
    """Run a program ion which the base multiplies itself by the exponent value"""
    n = base
    for _ in range(1, exp):
        n *= base
    return n

结果:

>>> iterPower(5, 3)
125
>>> 5**3
125

答案 1 :(得分:0)

您传入的是整数,因此您不能像base(exp)那样调用5(3)。尝试在range(exp)中使用n,它将为您提供所需的迭代次数。