定义一个名为“ countCharactersInString”的函数,该函数接受字符串作为参数,并计算字母总数,小写字母总数,大写字母,数字总数和非字母字符总数非数字。 该函数将返回5个整数的列表,这些整数表示指定顺序的以下各项: 1.字母总数 2.小写字母的数量 3.大写字母的数量 4.位数 5.字母和数字旁边的任何其他字符 假设以下输入提供给该功能 “ Hell0 WorlD !!! 4567” 该函数将返回具有以下值的列表 [9,6,3,5,4]
如有帮助到还望采纳下哦,码字写代码不易,相互帮助理解,谢谢
本题解题思路,逐一类型进行一一匹配
具体如下:
ss = str(input("输入一行字符:"))
letters = 0 #统计英文字母个数
letter = 0 #统计小写字母个数
upletter = 0 #统计大写字母个数
digit = 0 #统计空格个数
others = 0 #统计其他字符
list1 = []
for i in range(len(ss)): #利用字符在ASCII码中的位置逐个统计
if("0" <= ss[i] <= "9"):
digit += 1
elif("a" <= ss[i] <= "z"):
letters += 1
letter += 1
elif("A" <= ss[i] <= "Z"):
letters += 1
upletter += 1
others = len(ss) - letters - digit
list1.append(letters)
list1.append(letter)
list1.append(upletter)
list1.append(digit)
list1.append(others)
print("字母总数,小写字母总数,大写字母,数字总数和非字母字符总数")
print(list1)
运行结果
输入一行字符:Hell0 WorlD !!! 4567
字母总数,小写字母总数,大写字母,数字总数和非字母字符总数
[9, 6, 3, 5, 6]
最后一个数字6 是统计了空格和感叹号,你题目上面其实是统计有错
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632