• Python 中判断输入是否为数字的实现代码


    在接收 raw_input 方法后,判断接收到的字符串是否为数字

    例如:

    1
    2
    str = raw_input("please input the number:")
    if str.isdigit():

    为 True 表示输入的所有字符都是数字,否则,不是全部为数字

    str 为字符串 str.isalnum () 所有字符都是数字或者字母 str.isalpha () 所有字符都是字母 str.isdigit () 所有字符都是数字 str.islower () 所有字符都是小写 str.isupper () 所有字符都是大写 str.istitle () 所有单词都是首字母大写,像标题 str.isspace () 所有字符都是空白字符、 、 、
    上述的主要是针对整型的数字,但是对于浮点数来说就不适用了,那么浮点数怎么判断呢,一直在纠结这个问题,为什么非要区分整型和浮点数呢,既然都是参与运算的,全部适用浮点数不是一样吗,在得到结果后,直接转换为 int 型不是一样吗,为什么非要纠结在前期去判断是否整型或者浮点数呢,有了这样的思路,下面就好做了,例如:

    我们可以通过异常来判断,异常语法如下:

    try:     {statements} exception: {Exception Objects}     {statements}

    str = raw_input("please input the number:")
    try:     f = float (str) exception ValueError:     print ("输入的不是数字!")

    还有一种纯粹判断是否为浮点数的方法,使用正则表达式:

    1.# 引用 re 正则模块

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import re
    float_number = str(input("Please input the number:"))
    #调用正则
    value = re.compile(r'^[-+]?[0-9]+.[0-9]+$')
    result = value.match(float_number)
    if result:
      print "Number is a float."
    else:
      print "Number is not a float."

    2. 关于这个正则表达式,解释一下:

    ^[-+]?[0-9]+.[0-9]+$ 

    ^ 表示以这个字符开头,也就是以 [-+] 开头,[-+] 表示字符 - 或者 + 之一,
    ? 表示 0 个或 1 个,也就是说符号是可选的。
    同理 [0-9] 表示 0 到 9 的一个数字,+ 表示 1 个或多个,也就是整数部分。
    . 表示的是小数点, 是转义字符因为。是特殊符号(匹配任意单个除 之外的字符),
    所以需要转义。
    小数部分同理,$ 表示字符串以此结尾。

    判断输入是否全为数字、字符等

    s 为字符串

    s.isalnum () 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
    s.isalpha () 所有字符都是字母,为真返回 Ture,否则返回 False。
    s.isdigit () 所有字符都是数字,为真返回 Ture,否则返回 False。
    s.islower () 所有字符都是小写,为真返回 Ture,否则返回 False。
    s.isupper () 所有字符都是大写,为真返回 Ture,否则返回 False。
    s.istitle () 所有单词都是首字母大写,为真返回 Ture,否则返回 False。
    s.isspace () 所有字符都是空白字符,为真返回 Ture,否则返回 False。

    例如:

    1
    2
    3
    s = 'I LOVE YOU'
    s.isupper()
    True
  • 相关阅读:
    对象数组输出学生信息
    对象数组实现添加和显示客户信息
    控制台输出模拟注册登录幸运抽奖
    对象数组和for循环遍历输出学生的信息
    控制台输出<迷你DVD管理>
    CF524B 题解
    优先队列的重载运算符
    [洛谷日报第19期]Codeforces游玩攻略(转)
    最短路(三种基础算法)
    P2032 扫描
  • 原文地址:https://www.cnblogs.com/reaix/p/12267870.html
Copyright © 2020-2023  润新知