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

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

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

    1 打赏 评论
  • 盼小辉丶 2021-06-16 21:46
    s = input()
    s = s.lower()
    s = s.split(" ")
    total = {}
    for i in s:
        i = i.strip('.').strip(',').strip('!').strip('"')
        if total.get(i,0):
            total[i] += 1
        else:
            total[i] = 1
    for key,value in total.items():
        print("单词{}出现的次数:{}".format(key,value))

     

     

    打赏 评论
  • 有问必答小助手 2021-06-18 14:30

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    打赏 评论

相关推荐 更多相似问题