3条回答 默认 最新
- CSDN专家-文盲老顾 2021-06-16 21:54关注
import re n = input('type some word:').lower() z = {w:len(re.split('(?<![a-z])'+w+'(?![a-z])',n))-1 for w in set(re.findall('[a-z]+',n))} print('\n'.join('单词“'+w+'”出现了'+str(z[w])+'次' for w in z))
n = input('type some word:').lower()
将录入的内容全部转换成小写,避免因单词位置不同,产生的大小写区分现象,例如 That is a ball,that is my ball.
re.findall('[a-z]+',n)
将录入的内容用正则提取出所有单词,这里不提取连写、多单词'连接,有需要可以修改正则'[a-z]+'的部分
re.findall得到的是一个list,可出现重复内容,外边加个set,就编程集合了,他自动就排重了
然后遍历这个集合,用单词做键,用正则使用单词切割录入的字符串,得到的列表长度减1就是单词出现次数,单词和出现次数组成词典,放到一个大列表里
然后对列表进行遍历,拼接输出内容,并在列表拼接的内容之间加一个回车,就得到最终结果了
解决 2无用
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作