• 技术文章 >常见问题 >Python常见问题

    python判断是否是小数

    (*-*)浩(*-*)浩2019-08-30 10:59:59原创5972

    一、判断一个数是否为小数

    1、有且仅有一个小数点

    2、小数点的左边可能为正数或负数

    3、小数点的右边为正数

    二、实现代码

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

    查看结果:

    30.112 是小数
    -300.123 是小数
    -.5 不是小数
    2-1 不是小数
    --11..22 不是小数
    5. 不是小数
    不是小数
    abc.efg 不是小数
    专题推荐:python
    品易云
    上一篇:python程序执行完不自动退出 下一篇:python是免费的编程语言吗

    相关文章推荐

    • python代码如何在命令行运行• python如何比较两个字符串是否相等• python是前端语言吗

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网