[Python] python中isdigit() isalpha()用于判断字符串的类型问题

2343 1
黑夜隐士 2022-11-6 10:44:40 | 显示全部楼层 |阅读模式
目录

    isdigit() isalpha()用于判断字符串的类型
      要求1要求2
    isdigit()、isalpha()、isalnum() 三个函数的区别和注意点
      一、isdigit()二、isalpha()三、isalnum()



isdigit() isalpha()用于判断字符串的类型


要求1

统计某个字符串中的数字数量并输出,例如字符串为“adsfsd1adf23sdfa12”
思路:遍历字符串,用isdigit()方法判断是否为数字,如果为数字,统计+1
代码如下:
  1. str=input("请输入任意字符串")
  2. num=0  #统计基数
  3. for i in str: #遍历字符串
  4.   if i.isdigit():  #判断是否为数字
  5.     num+=1
  6. print(num)
复制代码
要求2

在要求1的基础中统计出现数字的次数,比如12dsd23dsddf1,其中出现数字12,23,1共3次。
思路:此时如果利用上述思路,无法实现要求,故转换思路。
    1.遍历字符串,用 isalpha()判断字符串类型是否Wie字符串2.将字符串中的字符都换成空格,此时字符串中只有数字和空格3.将原有字符串用split()转换为列表4.统计列表元素长度
代码如下:
  1. s=input("")
  2. num=0  #统计基数
  3. for i in s: #遍历字符串
  4.   if i.isalpha(): #判断是否为字符串
  5.     s=s.replace(i," ") #如果是字符串,替换为空格
  6. b=s.split()   #拆分字符串
  7. print(len(b))  #统计字符串长度
复制代码
isdigit()、isalpha()、isalnum() 三个函数的区别和注意点


一、isdigit()

python关于 isdigit() 内置函数的官方定义:
  1. S.isdigit() -> bool   
  2.     Return True if all characters in S are digits
  3.     and there is at least one character in S, False otherwise.
复制代码
翻译:
S.isdigit()返回的是布尔值:True False
S中至少有一个字符且如果S中的所有字符都是数字,那么返回结果就是True;否则,就返回False
  1. S1 = '12345'    #纯数字
  2. S2 = '①②'    #带圈的数字
  3. S3 = '汉字'    #汉字
  4. S4 = '%#¥'    #特殊符号
  5. print(S1.isdigit())
  6. print(S2.isdigit())
  7. print(S3.isdigit())
  8. print(S4.isdigit())
  9. # 执行结果:
  10. True  
  11. True
  12. False
  13. False
复制代码
二、isalpha()

python关于 isalpha() 内置函数的官方定义:
  1. S.isalpha() -> bool   
  2.     Return True if all characters in S are alphabetic
  3.     and there is at least one character in S, False otherwise.
复制代码
翻译:
S.isalpha()返回的是布尔值:True False
S中至少有一个字符且如果S中的所有字符都是字母,那么返回结果就是True;否则,就返回False
  1. S1 = 'abc汉字'   #汉字+字母
  2. S2 = 'ab字134'   #包含数字
  3. S3 = '*&&'     #特殊符号
  4. print(S1.isalpha())
  5. print(S2.isalpha())
  6. print(S3.isalpha())
  7. #执行结果
  8. True
  9. False
  10. False
复制代码
三、isalnum()

python关于 isalnum() 内置函数的官方定义:
  1. S.isalnum() -> bool
  2.     Return True if all characters in S are alphanumeric
  3.     and there is at least one character in S, False otherwise.
复制代码
翻译:
S.isalnum()返回的是布尔值:True False
S中至少有一个字符且如果S中的所有字符都是字母数字,那么返回结果就是True;否则,就返回False
  1. S1 = 'abc汉字1'  #字母+汉字+数字
  2. S2 = '①②③'   #带圈的数字
  3. S3 = '%……&'    #特殊符号
  4. print(S1.isalnum())
  5. print(S2.isalnum())
  6. print(S3.isalnum())
  7. #执行结果
  8. True
  9. True
  10. False
复制代码
注意点:
1.python官方定义中的字母:大家默认为英文字母+汉字即可
2.python官方定义中的数字:大家默认为阿拉伯数字+带圈的数字即可
相信只要理解到这两点,这三个函数的在使用时的具体返回值,大家就很明确了~~
以上为个人经验,希望能给大家一个参考,也希望大家多多支持中国红客联盟。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行