共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 这篇文章主要介绍了 python 中 isdigit() isalpha() 用于判断字符串的类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 |
统计某个字符串中的数字数量并输出,例如字符串为“adsfsd1adf23sdfa12”
思路:遍历字符串,用 isdigit() 方法判断是否为数字,如果为数字,统计 +1
代码如下:
str=input("请输入任意字符串")
num=0 #统计基数
for i in str: #遍历字符串
if i.isdigit(): #判断是否为数字
num+=1
print(num)
在要求 1 的基础中统计出现数字的次数,比如 12dsd23dsddf1, 其中出现数字 12,23,1 共 3 次。
思路:此时如果利用上述思路,无法实现要求,故转换思路。
代码如下:
s=input("")
num=0 #统计基数
for i in s: #遍历字符串
if i.isalpha(): #判断是否为字符串
s=s.replace(i," ") #如果是字符串,替换为空格
b=s.split() #拆分字符串
print(len(b)) #统计字符串长度
python 关于 isdigit() 内置函数的官方定义:
S.isdigit() -> bool
Return True if all characters in S are digits
and there is at least one character in S, False otherwise.
翻译:
S.isdigit() 返回的是布尔值:True False
S 中至少有一个字符且如果 S 中的所有字符都是数字,那么返回结果就是 True;否则,就返回 False
S1 = '12345' #纯数字
S2 = '①②' #带圈的数字
S3 = '汉字' #汉字
S4 = '%#¥' #特殊符号
print(S1.isdigit())
print(S2.isdigit())
print(S3.isdigit())
print(S4.isdigit())
# 执行结果:True
True
False
False
python 关于 isalpha() 内置函数的官方定义:
S.isalpha() -> bool
Return True if all characters in S are alphabetic
and there is at least one character in S, False otherwise.
翻译:
S.isalpha() 返回的是布尔值:True False
S 中至少有一个字符且如果 S 中的所有字符都是字母,那么返回结果就是 True;否则,就返回 False
S1 = 'abc 汉字' #汉字 + 字母
S2 = 'ab 字 134' #包含数字
S3 = '*&&' #特殊符号
print(S1.isalpha())
print(S2.isalpha())
print(S3.isalpha())
#执行结果
True
False
False
python 关于 isalnum() 内置函数的官方定义:
S.isalnum() -> bool
Return True if all characters in S are alphanumeric
and there is at least one character in S, False otherwise.
翻译:
S.isalnum() 返回的是布尔值:True False
S 中至少有一个字符且如果 S 中的所有字符都是字母数字,那么返回结果就是 True;否则,就返回 False
S1 = 'abc 汉字 1' #字母 + 汉字 + 数字
S2 = '①②③' #带圈的数字
S3 = '%……&' #特殊符号
print(S1.isalnum())
print(S2.isalnum())
print(S3.isalnum())
#执行结果
True
True
False
注意点:
1.python 官方定义中的字母:大家默认为英文字母 + 汉字即可
2.python 官方定义中的数字:大家默认为阿拉伯数字 + 带圈的数字即可
相信只要理解到这两点,这三个函数的在使用时的具体返回值,大家就很明确了~~