Python 为什么我的基本指数函数不起作用?
我试图为指数函数获取输入,但它没有给出输出Python 为什么我的基本指数函数不起作用?,python,exponent,Python,Exponent,我试图为指数函数获取输入,但它没有给出输出 def exp_func(基数,指数): 结果=1 对于范围(0,指数)中的索引: 结果*=基数 返回结果 基数=浮动(输入(“输入基数:”) 指数=浮点(输入(“输入指数:”) 打印(exp_func(基数、指数)) 但是,没有任何输入,它工作正常 def exp_func(基数,指数): 结果=1 对于范围(0,指数)中的索引: 结果*=基数 返回结果 打印(exp_func(2,3)) 有什么问题吗?范围需要整数类型,而不是浮点类型 rang
def exp_func(基数,指数):
结果=1
对于范围(0,指数)中的索引:
结果*=基数
返回结果
基数=浮动(输入(“输入基数:”)
指数=浮点(输入(“输入指数:”)
打印(exp_func(基数、指数))
但是,没有任何输入,它工作正常
def exp_func(基数,指数):
结果=1
对于范围(0,指数)中的索引:
结果*=基数
返回结果
打印(exp_func(2,3))
有什么问题吗?范围需要整数类型,而不是浮点类型
range(10)
#range(1,10)
range(10.0)
#TypeError: 'float' object cannot be interpreted as an integer
尝试将输入更改为int。您的实现无法处理非整数
def exp_func(base,exponent):
result = 1
for index in range(0,exponent):
result*=base
return result
base = float(input("Enter base:"))
exponent = int(input("Enter exponent:"))
print(exp_func(base,exponent))
另外,如果您不知道**运算符,它会计算指数
def exp_func(base,exponent):
return base ** exponent
这将适用于浮点数。尝试将
浮点数(输入('Enter Base'))
和浮点数(输入('Enter Base'))
更改为int(输入('Enter Base'))
和int(输入('Enter Base'))
,因为如果不包含小数,float()函数会自动将.0
添加到数字中。
这是因为
range()
函数不是十进制函数,因此执行上述操作可以解决您的问题。
你的问题不清楚,所以这是我能给你的最好答案。如果你想要一个更好的答案,请改变你的问题。
编辑:另外,如果您想要使用小数的指数,可以使用
**
运算符。例如:
3**4
报税表:81
请给出一个示例,说明当您按预期运行时会发生什么。请尝试将float
更改为int
。在第一个未工作的示例中使用float,在第二个工作的示例中-intfloat(“3”)
可以工作。唯一的问题在于范围
的参数。(顺便说一句,没有投反对票)好的,我已经改变了我的答案。我想@oli5679被否决了?(无意冒犯)Lol保留投票人的匿名性很好,但我没有否决:)谢谢将输入更改为int()有效。如果您的问题得到回答,请检查其中一个答案以通知社区此问题已得到回答:)我差点忘了**
操作符,您提醒我将其添加到我的答案中Lol