Python中判断输⼊字符串是否为数字的⽅法
在写物理实验图像处理的脚本时,遇到了⼀个判断输⼊的字符串是否为数字的⽅法
最开始我的思路是这个
test = input()
while test.isdigit():
# do something
⽤的是系统⾃带的String.isdigit()的⽅法,该⽅法⽤于判定输⼊的字符串是否为纯数。如果是纯数,则返回True,否则返回False。
但是这样有⼀个问题,浮点数中有dot这个符号,所以⼀旦⽤户输⼊浮点数,返回值就是False,达不到我要的⽬标。后来想⽤最原始的C++中判定ASCII码的⽅法解决该问题,觉得过于复杂。于是有了下⾯这个思路,⽤异常来捕捉。
def isscalar(str):
try:
float(str)
except ValueError:
return False
else:
return True
由于在使⽤float()(也包括其他数型的转换int、long)转换时,若转换对象不是数字,系统会⾃动报错
ValueError: could not convert string to float: 'string'
于是利⽤这⼀点来实现判定⽤户输⼊是否是数字,也算是对异常捕捉的⼀次学习了。
>python中的字符串是什么
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论