Python-判断正负小数

#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