expressions = [
"3",
"13.",
".328",
"41.16",
"+45.80",
"+0",
"-01",
"-14.4",
"1e12",
"+1.4e6",
"-2.e+7",
"01E-06",
"0.2E-20",
"word",
"3ad34db"
]
for value in expressions:
try:
num = float(value)
print('{} is a number'.format(num))
except ValueError:
print('{} is not a number'.format(value))
输出
3.0 is a number
13.0 is a number
0.328 is a number
41.16 is a number
45.8 is a number
0.0 is a number
-1.0 is a number
-14.4 is a number
1000000000000.0 is a number
1400000.0 is a number
-20000000.0 is a number
1e-06 is a number
2e-21 is a number
word is not a number
3ad34db is not a number
在这种情况下,
try
/except
块可能更好输出
您可以使用
[-+]?[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?'
来匹配数字,但提出的解决方案@Cyber要好得多。你知道吗相关问题 更多 >
编程相关推荐