用Python计算对数
我试图使用python math.logx[base]的数学模块计算对数,但是当我对x和基值使用floatraw_输入时,它给出了一个错误,ZeroDivisionError:float除以零用Python计算对数,python,logarithm,Python,Logarithm,我试图使用python math.logx[base]的数学模块计算对数,但是当我对x和基值使用floatraw_输入时,它给出了一个错误,ZeroDivisionError:float除以零 你应该避免x你应该避免x胡说八道,它非常有效 >>> import math >>> x=float(raw_input()) 9.0 >>> base=float(raw_input()) 3.0 >>> math.log(x, b
你应该避免x你应该避免x胡说八道,它非常有效
>>> import math
>>> x=float(raw_input())
9.0
>>> base=float(raw_input())
3.0
>>> math.log(x, base)
2.0
你为什么不告诉我们你是如何重现这个问题的?wim是非常正确的-基数为1将给出该错误
>>> base=float(raw_input())
1.0
>>> math.log(x, base)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: float division by zero
另一方面,如果x是无意义的,那么它工作得非常好
>>> import math
>>> x=float(raw_input())
9.0
>>> base=float(raw_input())
3.0
>>> math.log(x, base)
2.0
你为什么不告诉我们你是如何重现这个问题的?wim是非常正确的-基数为1将给出该错误
>>> base=float(raw_input())
1.0
>>> math.log(x, base)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: float division by zero
另一方面,如果xAlso粘贴实际代码并进行回溯是的,请给我们一个输入x和基值的示例您是否尝试使用1作为基值?这可能会导致这种情况。还要粘贴实际代码和回溯耶,请给我们一个输入x和基值的示例。是否尝试使用1作为基值?这可能会导致这种情况。是的,我就是这么想的,但我该如何避免呢?如果只想要3而不是3.1,那会怎么样?是的,这应该是一个溢出错误,如果你的x值在循环中发生变化,那么你需要用if语句处理这个问题,不,base=3.1不应该是个问题是的,这是我的想法,但我如何避免呢?如果只需要3而不是3.1,该怎么办?是的,这应该是一个溢出错误,如果您的x值在循环中发生变化,那么您需要使用if语句处理该情况,否,base=3.1不应该是问题