我要确保输入的是数字。我尝试过用符号和字母进行测试,但是shell只是抛出了一个错误:“Decimal的文本无效”。我正在研究一个计算器,所以我认为十进制模块最适合。提前谢谢。在
这是我的代码:
import decimal
while True:
userInput = (raw_input("Enter number:"))
try:
userInput = decimal.Decimal(userInput)
break
except ValueError:
print ("Number please")
使用Python2.7.6
Tags:
不是捕捉
ValueError
,而是捕捉decimal.InvalidOperation
错误。将无效数据传递给decimal.Decimal
构造函数时会引发此错误。在抓住decimal.InvalidOperation
检查值是否为十进制有效输入的正确方法是:
https://docs.python.org/2/library/decimal.html#decimal.DecimalException
相关问题 更多 >
编程相关推荐