gpt4 book ai didi

python - ValueError异常在python中不起作用

转载 作者:行者123 更新时间:2023-12-03 08:26:17 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的程序,当我输入半径时将计算圆的面积。当我输入数字时,它可以工作,但是当我输入其他内容时,我希望它说“那不是数字”,然后让我再试一次,而不要给我一个错误。

我不知道为什么这不起作用。

from math import pi

def get_area(r):
area = pi * (r**2)
print "A= %d" % area

def is_number(number):
try:
float(number)
return True
except ValueError:
return False

loop = True
while loop == True:
radius = input("Enter circle radius:")
if is_number(radius) == True:
get_area(radius)
loop = False
else:
print "That's not a number!"

最佳答案

当您不输入数字时,input本身会引发错误,这不在try/except的范围内。您可以简单地完全放弃完全多余的is_number函数,并将print语句放在except块中:

try:
radius = input("Enter circle radius:")
except (ValueError, NameError):
print "That's not a number!"
get_area(radius)

关于python - ValueError异常在python中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40565946/

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