python - 不使用 ** 计算指数的迭代函数

标签 python python-3.x function

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

我已经尝试了我已经创建的代码,但不确定如何修复“int”对象不可调用的错误。

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

base = 5
exp = 3

print(iterPower(5,3))

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

最佳答案

您需要乘以 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

关于python - 不使用 ** 计算指数的迭代函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55841135/

相关文章:

python - 使用 python 创建 Postgres 数据库

python - 在python中对数字进行排序

python - 减去从字符串转换的日期时间时,total_seconds() 是错误的

python - 为什么这个问题发生在Python函数作用域中?

mysql - 将一个表中的 SUM 值与另一个表中的变量相乘

python - 如何有效地从我的数据框中获取列子集的 numpy 数组?

python - 如何在 mac 上的 virtualenv 中安装 Python XGBoost 包

python - 线程结束后释放内存

Python:从 day_one.py 导入一个文件到 main.py,然后在 day_one 中我从 main.py 导入一个函数。错误无法导入

javascript - JavaScript 函数中的参数