今天碰见了这个问题,于是整理一下分享出来 首先是解决我问题的方法,使用isinstance(i,float/int)判断: i=9,j=1.3 >>isinstance(i,int) >>True >...第二...
今天碰见了这个问题,于是整理一下分享出来
首先是解决我问题的方法,使用isinstance(i,float/int)判断:
i=9,j=1.3 >>isinstance(i,int) >>True >>isinstance(i,float) >>False >>isinstance(j,float) >>True
第二种type(eval(s))==int/float判断
s='sda'
b='123'
>>if type(eval(s)== int/float
但是eval只能用于字符串或者对象
第三种使用isdight()函数判断
>>i.isdight() >>True
要求用户只能输入数字(包括整数和小数),如何用正则表达式验证用户输入? 有两种思路: 1. 给出正确格式的正则表达式,然后看输入是否合法。 2. 列出所有错误的输入,看输入是否非法。 对于思路1,想想其实...
要求用户只能输入数字(包括整数和小数),如何用正则表达式验证用户输入?
有两种思路:
1. 给出正确格式的正则表达式,然后看输入是否合法。
2. 列出所有错误的输入,看输入是否非法。
对于思路1,想想其实有点不可靠,因为Python关于正则表达式的re模块中,只有match()、search()、findall()方法可用,而它们都是在给出的字符串中查找匹配给定模式(Pattern)的子串,找到了就返回子串,没有就返回None,并不是说整个字符串是否匹配该Pattern,按照思路1,若稍不注意,就达不到想要的效果,例如
1def isNumReg(str): 2 regInt='\d+'#能匹配123、123.63、123eabd、abc236等所有包含了数字的字符串 3 regInt2='\d+$'#能匹配123、123.63、abc236等所有以数字结尾的字符串 4 regInt2='^\d+$'#只能匹配1、12、123等只包含数字的