gpt4 book ai didi

python - 如何阻止 python 将 (-2)^0.5 计算为复数,并给我一个异常(exception)

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:45 24 4
gpt4 key购买 nike

我正在我的大学学习 python 初学者类(class),我准备明天进行异常测试。我正在尝试从列表中计算出几何平均值。当我在列表中输入一个负值时,python 计算几何平均值并给我一个复数(显然)。但是,在准备我的测试时,我希望在列表中有负值时引发异常,但我不知道该怎么做?有人愿意帮忙吗?

我在 python3.4 工作。如果你想在这里看到我的代码。关于如何使我的代码更有效率的任何其他建议让我知道。提前致谢。

            #LOAD A LIST 
while True:
try:
string = input("please enter a list of numbers separated by commas \n:",)
L = [float(x) for x in string.split(",")]
#print(L)
break
except ValueError:
print("There seems to be a value error in that list")
pass

#COMPUTE GEOMETRIC MEAN
def gm(L):
cnt = 1
try:
for i in range(len(L)):
cnt=cnt*L[i]
geo = (cnt)**(1/len(L))
return geo
except ValueError:
print("Value error!")
except TypeError:
print("type error!")

print("geometric mean is, ", gm(L))

最佳答案

第一种方法,自己测试并引发异常。

第二种方法,使用math.pow 代替内置运算符。

关于python - 如何阻止 python 将 (-2)^0.5 计算为复数,并给我一个异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36628948/

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