收藏网站

Python实现小数的判断

2020年9月18日 11:06 Python 1106
# 小数一定包含'.'这是作为判断的第一个条件
# 开头不能是'.'作为第二个判断条件
# 结尾不能是'.'作为第三个判断条件


def is_float(price):
    """判断是否为小数的函数"""
    if price.count('.') == 1:  # 小数有且仅有一个小数点
        left = price.split('.')[0]  # 小数点左边(整数位,可为正或负)
        right = price.split('.')[1]  # 小数点右边(小数位,一定为正)
        lright = ''  # 取整数位的绝对值(排除掉负号)
        if price.count('-') == 1 and price[0] == '-':  # 如果整数位为负,则第一个元素一定是负号
            lright = left.split('-')[1]
        elif price.count('-') == 0:
            lright = left
        else:
            print('%s 不是小数' % price)
        if right.isdigit() and lright.isdigit():  # 判断整数位的绝对值和小数位是否全部为数字
            print('%s 是小数' % price)
            if float(price) <= 0:  # 这里可以加一个正负数的判断
                print('请输入一个正数')

        else:
            print('%s 不是小数' % price)
    else:
        print('%s 不是小数' % price)

# 调用函数
while True:
    price = input('请输入一个数字:')
    is_float(price)

 

热点推荐

扫码添加微信