根据描述设计类Count:在控制台接收一段字符串,当按下”Enter时分别统计|输入的字符串中汉字、字母、数字、特殊符号(问号冒号加号减号句号逗|号空格百分号引号感叹号)的个数,例如: |输入:你好,python66... 输出: 汉字:['你', '好] 数字:["6', '6', '6'] 字母:['p', 'y', 't, 'h', 'o', 'n'] 特殊符号:[,'”,' 要求: 1、对象属性包括: input_ str(用 于接收用户输入的字符串) result(字典,用于存放最后的结果(各字符类型有哪些字符) )2、构造方法,用户初始化对象属性 count(self),统计各字符类型 show(self),打印结果 4、程序放到循环中一直执行下去 5、正则规则: 汉字: [\u4e00-\u9fa5] 字母: [a-zA-Z] 数字: [0-9] 特殊符号: [! ,).,%;,,, ,,-,+,?]
1条回答 默认 最新
- threenewbee 2021-04-29 15:24关注
str=input("请输入字符串")
zimu=0
shuzi=0
teshu=0
kongge=0
for i in str:#遍历字符串
if i.isdigit():#数字判定
shuzi+=1
elif i.isspace():#空格判定
kongge+=1
elif i.isalpha():#字母判定
zimu+=1
else:#其余则默认为特殊字符判定
teshu+=1
print(f'字符串中数字有{shuzi}个')
print(f'字符串中空格有{kongge}个')
print(f'字符串中中英文字母有{zimu}个')
print(f'字符串中特殊字符有{teshu}个')本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd