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

ValueError:负数不能提高到小数幂

宿洋
2023-03-14
问题内容

当我在终端尝试这个

>>> (-3.66/26.32)**0.2

我收到以下错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: negative number cannot be raised to a fractional power

但是,我可以分两个步骤执行此操作,例如,

>>> (-3.66/26.32)
-0.13905775075987842
>>> -0.13905775075987842 ** 0.2
-0.6739676327771593

为什么会有这种行为?用单行解决此问题的方法是什么?


问题答案:

提高功率优先于一元减号。

因此,您拥有的-(0.13905775075987842 ** 0.2)却不(-0.13905775075987842) ** 0.2是您所期望的:

>>> -0.13905775075987842 ** 0.2
-0.6739676327771593
>>> (-0.13905775075987842) ** 0.2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: negative number cannot be raised to a fractional power

如果您希望它起作用,您应该写 (-3.66/26.32 + 0j)**0.2

>>> (-3.66/26.32 + 0j)**0.2
(0.5452512685753758+0.39614823506888347j)

或按照@TimPietzcker的说明切换Python 3。



 类似资料:
  • 在 ScalaCheck 中,我有一个属性测试,它使用正整数生成器,当它失败时,ScalaCheck 将缩小到非正值。 收缩应该有助于找到最小的失败案例。收缩到所需范围之外的值会令人困惑且无济于事。这是一个已知的错误,请参阅ScalaCheck问题#129Gen.suchThat不尊重收缩 是否可以在作用域中定义我自己的收缩实例,以便它仅收缩到正整数? 下面是一个最简单的属性测试: 这通常会导致

  • 问题内容: 我正在建模黎曼θ函数: 它对否定无效; 例如导致此错误: 为什么?应该只是如果我正确地记得我的数学。 问题答案: 在NumPy中,用于选择类似操作的输出dtype的逻辑基于dtype,而不是值。这意味着必须具有与相同的输出dtype 。 给出整数输出之类的东西很重要,这意味着必须给出整数或什么都不给出。他们什么也没捡。将整数提高为负整数幂是NumPy中的错误。 如果要浮点输出,请进行浮

  • 问题内容: 我正在尝试使用train_test_split和决策树回归器进行此训练建模: 运行此命令时,出现错误: 如果将cv的值更改为1,则会得到: 数据的一些示例行如下所示: 问题答案: 如果分割数大于样本数,则将出现第一个错误。从下面给出的源代码中检查代码段: 如果折叠数小于或等于,则会出现第二个错误。就您而言,。检查源代码: 有根据的猜测是,其中的样本数量少于。仔细检查。

  • 我正在使用ignite2.6,其中有数据流节点,从kafka消耗数据并放入Ignite缓存。服务器平均负载较高,吞吐量降低。 我已经尝试为缓存中定义的索引内联设置索引大小,这样可以提供良好的性能,但也增加了服务器内存利用率和较高的平均负载。请说明在这种情况下增加datastreamer线程池大小会产生什么影响。

  • 问题内容: 我在公司中多次设计数据库。为了提高数据库的性能,我只寻找标准化和索引。 如果要求您提高数据库的性能,该数据库包含大约250个表以及一些具有数百万个记录的表,那么您将寻找什么不同的东西? 提前致谢。 问题答案: 优化逻辑设计 逻辑级别是关于查询和表本身的结构。首先尝试最大程度地发挥这一作用。目标是在逻辑级别上访问尽可能少的数据。 拥有最高效的SQL查询 设计支持应用程序需求的逻辑架构(例

  • 我目前正在一个小型集群(3个节点,32个CPU和128 GB Ram)上使用线性回归(Spark ML)中的基准测试来评估Spark 2.1.0。我只测量了参数计算的时间(不包括启动、数据加载、……)并识别了以下行为。对于小的数据集,0.1MIO-3MIO数据点,测量的时间并没有真正增加,停留在大约40秒。只有对于较大的数据集,如300个Mio数据点,处理时间才会达到200秒。因此,集群似乎根本无