当前位置: 首页 > 面试题库 >

python中的负战俘

计阳泽
2023-03-14
问题内容

我有这个问题

>>> import math
>>> math.pow(-1.07,1.3)  
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
ValueError: math domain error

有什么建议吗?


问题答案:

(-1.07)1.3将不是实数,因此出现Math域错误。

如果需要复数,则必须将a b重写为e bln a,例如

>>> import cmath
>>> cmath.exp(1.3 * cmath.log(-1.07))
(-0.6418264288034731-0.8833982926856789j)

如果只想返回NaN,请捕获该异常。

>>> import math
>>> def pow_with_nan(x, y):
...   try:
...     return math.pow(x, y)
...   except ValueError:
...     return float('nan')
...
>>> pow_with_nan(1.3, -1.07)   # 1.3 ** -1.07
0.755232399659047
>>> pow_with_nan(-1.07, 1.3)   # (-1.07) ** 1.3
nan

顺便说一句,在Python中,通常a ** b不是使用内置函数来增强功能math.pow(a, b)

>>> 1.3 ** -1.07
0.755232399659047
>>> (-1.07) ** 1.3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: negative number cannot be raised to a fractional power
>>> (-1.07+0j) ** 1.3
(-0.6418264288034731-0.8833982926856789j)


 类似资料:
  • 问题内容: 我有以下输入, 我想提取所有输入, 除了 包含“ ”的行和包含单个(点)的最后一行。也就是说,我想提取以下内容 我尝试了以下方法 但它不起作用,因为它不会产生任何输出。 问题答案: 实际操作: 别忘了负前瞻,否则您将无法获得任何匹配;-)

  • 如何在python中找到包含负数的稀疏矩阵的sqrt?和对负数不起作用。我还尝试使用。但它也不起作用。

  • 还是以我们之前做过的,通讯录功能为例,这节课我们继续对通讯录功能使用类进行改造: 1. 通讯录功能简介 编写程序 addressBook.py 实现通讯录管理系统,通讯录包含若干联系人,每个联系人包括:姓名、地址、电话 3 项内容。程序提供 4 项基本功能: 增加联系人: 用户输入姓名、地址、电话等信息,将信息保存在一个列表中 列出联系人: 打印输出所有联系人的信息 查询联系人: 用户输入联系人姓

  • 本文向大家介绍tomcat6_apache2.2_ajp 负载均衡加集群实战分享,包括了tomcat6_apache2.2_ajp 负载均衡加集群实战分享的使用技巧和注意事项,需要的朋友参考一下 环境: -------------------------------------------- 一台apache2.2服务器,三台tomcat服务器: apache2.2服务器 1.ip:192.168

  • 1.14.1 什么是Python模块: Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。 模块能定义函数,类和变量,模块里也能包含可执行的代码。 1.14.2 Python模块的导入: import 语句

  • 本教程是一个关于Python微服务的实战教程,根据测试驱动开发(TDD)的指导思想,开发容器化的Python微服务应用,涉及 TDD、Flask、React、Docker、微服务 等知识点。 在这个课程中,你将学习如何使用Docker快速创建开发环境、管理多个微服务,应用程序在本地运行后,您将学习怎样在生产环境部署应用。我们也会练习TDD(测试驱动开发),在你的项目中测试先行,我们重点将放在服务端