【问题标题】:How can I make the output return ValueError when x is negative? [duplicate]当 x 为负时,如何使输出返回 ValueError? [复制]
【发布时间】:2022-01-07 05:47:58
【问题描述】:

我如何编写一个函数 sqrt(f:float) -> 当 f 为非负时返回 f 的平方根的 float。但是,如果 f 为负数,您的函数应引发 ValueError 异常,说明输入值 f 不能为负数。

例如:

sqrt(4.0)
2.0
sqrt(-1)
Traceback (most recent call last):
...
ValueError: input value cannot be negative

这是我的代码,它并没有真正起作用...我应该进行哪些更改?

import math
def sqrt(x):
    try:
        if x > 0:
            return math.sqrt(x)
        else:
            return ("ValueError")
    except ValueError:
        return ("ValueError: input value cannot be negative")

【问题讨论】:

  • 我投了反对票,因为您似乎没有对如何引发错误进行任何研究。

标签: python list function exception


【解决方案1】:

使用raise 关键字。

import math
def sqrt(x):
    if x < 0:
        raise ValueError("input value cannot be negative")
    return math.sqrt(x)

【讨论】:

    【解决方案2】:

    您不会“返回”错误;你raise ValueError 例外。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 2019-11-04
      • 2020-09-23
      • 2016-03-29
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多