首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到了` `ZeroDivisionError: float division by zero`‘错误?

为什么我得到了` `ZeroDivisionError: float division by zero`‘错误?
EN

Stack Overflow用户
提问于 2018-10-05 22:00:53
回答 1查看 361关注 0票数 0

我想在y=0上找到一个函数的x值。

代码语言:javascript
复制
from pynverse import inversefunc
from math import pi,sqrt
R=20
C=5*10**-9
L=5*10**-4
Z= (lambda x: sqrt(R**2+(1/(2*pi*C*x)-2*pi*L*x)**2))
inversefunc(Z,y_values=0)

但我得到了以下错误代码:

代码语言:javascript
复制
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
inversefunc(Z,y_values=0)
File "C:\Python27\lib\site-packages\pynverse\inverse.py", line 113, in inversefunc
trend = np.sign(func(ref2, *args) - func(ref1, *args))
File "<pyshell#15>", line 1, in <lambda>
Z= (lambda x: sqrt(R**2+(1/(2*pi*C*x)-2*pi*L*x)**2))
ZeroDivisionError: float division by zero

请告诉我为什么!谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-10-05 22:23:01

当除数为0时,您可以告知答案是未定义的,并且您应该使用普通函数,而不是python中命名为lambdas的函数。

代码语言:javascript
复制
from pynverse import inversefunc
from math import pi,sqrt


def Z(x):
    # Can define these globally if necessary.
    R = 20
    C = 5 * 10**-9
    L = 5 * 10**-4

    return sqrt(R**2 + (1/(2*pi*C*x) - 2*pi*L*x)**2))


try:
    inversefunc(Z, y_values=0)
except ZeroDivisionError:
    print("answer is undefined")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52667343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档