#1、必须只有一个小数点
#2、小数点的左边必须是整数,小数点的右边必须是正整数
def is_float1(s=None):
s = str(s) #.1
if s.count('.')==1:
left,right = s.split('.') #['-','1']
if left.isdigit() and right.isdigit() and int(right)>0:#判断正小数
return True
elif left.startswith('-') and left.count('-')==1 and right.isdigit() and int(right)>0:
#先判断负号开头,只有一个负号,小数点右边是整数
lleft = left.split('-')[1] #如果有负号的话,按照负号分隔,取负号后面的数字
if lleft.isdigit():#判断左边负号后边是整数
return True
return False
print(is_float1(-111111.0))
print(is_float1('s.1'))
print(is_float1('...1'))
print(is_float1('1.s'))
print(is_float1(-1.1))
结果:
False
False
False
False
True