Python基础之函数-练习题
一、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
1、方法一:遍历字符串,将字符转换成ASCII码(使用方法 ord(a) 转换成ASCII码),再去判断字符是数字、字母、空格。
在ASCII码中:
48~57代表数字0 ~ 9 ;
97 ~ 122代表小写字母a ~ z;
65 ~ 90 代表大写 A ~ Z;
32 代表 空格;
13 代表回车;
# 方法一:遍历字符串,将字符转换成ASCII码(使用方法 **ord(a)** 转换成ASCII码),再去判断字符是数字、字母、空格。
"""
在ASCII码中:
48~57代表数字0 ~ 9 ;
97 ~ 122代表小写字母a ~ z;
65 ~ 90 代表大写 A ~ Z;
32 代表 空格;
13 代表回车;
"""
def foo(my_str):
dig = 0
al = 0
space = 0
other = 0
for item in my_str:
i = ord(item)
if i >= 48 and i <=57:
dig += 1
elif (i >= 65 and i <= 90) or (i >= 97 and i <= 122):
al += 1
elif i == 32:
space += 1
else:
other += 1
print("字符串中【数字】个数为{}、【字母】个数为{}、【空格】个数为{}、【其他】个数为{}".format(dig, al, space, other))
my_str1 = str(input("请输入字符串:"))
foo(my_str1)
输出的结果:
请输入字符串:***** ABCDEF abcdef 888888 ******
字符串中【数字】个数为6、【字母】个数为12、【空格】个数为7、【其他】个数为11
2、方法二:遍历字符串,使用正则表达式匹配方法,导入 re 模块,使用re.match(正则表达式, 要匹配的字符串)去做判断。
‘\d’ 代表的是数字;
'\w’代表的是A-Z a-z;
'\s’代表的是空格&