我尝试制作一个简单的程序,在输入半径时计算圆的面积。当我输入一个数字时,它可以正常工作,但是当我输入其他内容时,我希望它能说“#34;那不是数字"让我再试一次,而不是给我一个错误。
我无法弄清楚为什么这不起作用。
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!"
答案 0 :(得分:1)
如果您不输入数字,则raw_input
本身会引发错误,这不属于您input
的范围。您可以完全放弃try/except
函数,这完全是多余的,并将is_number
语句放在print
块中:
except
答案 1 :(得分:0)
i.itemName as i.itemName for i in fl.combo_ItemList.itemList.
仍然是一个字符串,
替换
radius
与
get_area(radius)
由于您使用的是Python 2,因此您还必须将get_area(float(radius))
替换为input
答案 2 :(得分:0)
in= 0
while True:
try:
in= int(input("Enter something: "))
except ValueError:
print("Not an integer!")
continue
else:
print("Yes an integer!")
break