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

    python判断是否是小数

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

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

    1、有且仅有一个小数点

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

    3、小数点的右边为正数

    二、实现代码

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    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)

    查看结果:

    1

    2

    3

    4

    5

    6

    7

    8

    30.112 是小数

    -300.123 是小数

    -.5 不是小数

    2-1 不是小数

    --11..22 不是小数

    5. 不是小数

    不是小数

    abc.efg 不是小数

    专题推荐:python
    上一篇:python程序执行完不自动退出 下一篇:python是免费的编程语言吗

    相关文章推荐

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

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网