python判断输⼊数据是否为数组或者字母
在接收raw_input⽅法后,判断接收到的字符串是否为数字
例如:
Stri = raw_input("please input the number:")
if Stri.isdigit():
为True表⽰输⼊的所有字符都是数字,否则,不是全部为数字
Stri为字符串
Stri.isalnum() 所有字符都是数字或者字母
Stri.isalpha() 所有字符都是字母
Stri.isdigit() 所有字符都是数字
Stri.islower() 所有字符都是⼩写
Stri.isupper() 所有字符都是⼤写
Stri.istitle() 所有单词都是⾸字母⼤写,像标题
Stri.isspace() 所有字符都是空⽩字符、\t、\n、\r
<(width,"#") 字符串居中,默认左右填充的是空格
width=10
字符串转数组去除空格###abc####
Stri.find(需要查的字符串,开始位置默认0,截⾄位置(不包含本⾝))# 返回的是查到的值的下标,没有打返回-1
Stri.Striip() 返回的是去除字符串左右空⽩字符(原字符串不变)
Stri.lStriip() 返回的是去除字符串左空⽩字符(原字符串不变)
Stri.rStriip() 返回的是去除字符串右空⽩字符(原字符串不变)
Stri.title() 返回的是字符串中所有英⽂单词⾸字母⼤写
Stri.lower() 返回的是字符串中所有字符都成⼩写
Stri.upper() 返回的是字符串中所有字符都成⼤写
上述的主要是针对整型的数字,但是对于浮点数来说就不适⽤了,那么浮点数怎么判断呢,⼀直在纠结这个问题,为什么⾮要区分整型和浮点数呢,既然都是参与运算的,全部适⽤浮点数不是⼀样吗,在得到结果后,直接转换为int型不是⼀样吗,为什么⾮要纠结在前期去判断是否整型或者浮点数呢,有了这样的思路,下⾯就好做了,例如:
我们可以通过异常来判断,异常语法如下:
try:
{statements}
exception: {Exception Objects}
{statements}
Stri = raw_input("please input the number:")
try:
f = float(Stri)
exception ValueError:
print("输⼊的不是数字!")
==========================================================
还有⼀种纯粹判断是否为浮点数的⽅法,使⽤正则表达式:
#引⽤re正则模块
import re
float_number = Stri(input("Please input the number:"))
#调⽤正则
value = repile(r'^[-+]?[0-9]+\.[0-9]+$')
result = value.match(float_number)
if result:
print "Number is a float."
else:
print "Number is not a float."
2. 关于这个正则表达式,解释⼀下:
^[-+]?[0-9]+\.[0-9]+$
^表⽰以这个字符开头,也就是以[-+]开头,[-+]表⽰字符-或者+之⼀,
?表⽰0个或1个,也就是说符号是可选的。
同理[0-9]表⽰0到9的⼀个数字,+表⽰1个或多个,也就是整数部分。
\.表⽰的是⼩数点,\是转义字符因为.是特殊符号(匹配任意单个除\r\n之外的字符),所以需要转义。
⼩数部分同理,$表⽰字符串以此结尾。
才开始学正则,有错误的地⽅请⼤家指正。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论