煦恒. 2021-06-16 21:41 采纳率: 77.8%
浏览 152

用Python中for或者其他做

 

  • 写回答

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就是单词出现次数,单词和出现次数组成词典,放到一个大列表里

    然后对列表进行遍历,拼接输出内容,并在列表拼接的内容之间加一个回车,就得到最终结果了

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作