gpt4 book ai didi

python - 处理异常 - python 中的负平方根

转载 作者:行者123 更新时间:2023-11-28 20:43:08 26 4
gpt4 key购买 nike

我正在尝试编写一段代码来处理负平方根的异常,因为我只想要一个正结果。我的代码是:

def sqRoot(x):
try:
result = (x)**0.5
except ValueError:
result = "This is a negative root"
except TypeError:
result = "Please enter a number"
return result

出于某种原因,当我使用调用运行此代码时

x = sqRoot(-200)

我没有收到错误,而是 python 给我的结果是一个复数。我似乎看不到我的代码中的错误。

最佳答案

从评论中转移这个讨论...

在 Python 3.0 中 power operator 的行为变了。在早期版本的 Python 中,将负数计算为小数次方会引发 ValueError 异常,但在 Python 3 中它会产生复杂的结果。

寻找平方根的替代方法是 python 是 math.sqrt功能。在 Python 3 中,当与负数一起使用时会引发 ValueError 异常:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.sqrt(-200)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error

关于python - 处理异常 - python 中的负平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29203304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com