python解决不区分大小写统计问题

简介: python解决不区分大小写统计问题

遇到陌生网友问不知道怎么不区分大小写统计词频问题

题目是这样的:

将字母先全部转为小写,把特殊字符全部用空格代替,以空格分割,加入字典即可

fin=str(input("输入一个英文句子:"))
for ch in fin:
    if 65<=ord(ch)and ord(ch)<=90:
        fin=fin.replace(ch,chr(ord(ch)+32))#大写通过ascall转小写
for ch in '"";!+-(),.[]{}<<>>:':
    fin=fin.replace(ch," ")#将特殊符号转为空格
words=fin.split()#split以空格为分割符
pac={}#定义一个空字典
for i in words:
    pac[i]=pac.get(i,0)+1#返回pac[key]因为唯一性可避免单词重复
k=0#统计总词汇
sum=""
for i,j in pac.items():#字典二元组查找
    k+=1
    sum+=i+" "
print('全部单词如下:\n',sum)
print('共有{',str(k),'}个单词')

优化代码:将非字母的字符全部转为空格符号直接分割,简单直接,不用考虑特殊符号

words=str(input("输入一个英文句子:"))
for ch in words:
    if ord(ch)>=65 and ord(ch)<=90:#大写字母对应的Ascall
        words=words.replace(ch,chr(ord(ch)+32))#大写通过Ascall转小写
    if ord(ch)<97 or ord(ch)>122:#非小写字母对应的Ascall
        words=words.replace(ch,' ')#空格代替所有非小写字母
pac={}#定义一个空字典
for i in words.split():
    pac[i]=pac.get(i,0)+1#返回pac[key]因为唯一性可避免单词重复
k=0#统计总词汇
sum=''
for key in pac:#一元组查找
    k+=1
    sum+=key+' '
number={k}#不同单词数量的字典
print('全部单词如下:\n',sum)
print('共有',number,'不同个单词')

基本上ok,想改的话加点自己的东西就好了

有时间我都会解答简单问题

睡觉,最后peace!

目录
相关文章
|
6月前
|
数据安全/隐私保护 Python
134 python高级 - 正则表达式(表示数量)
134 python高级 - 正则表达式(表示数量)
48 0
|
9月前
|
搜索推荐 Unix 数据处理
【Python】一文带你了解 正则表达式 + 简单操作
正则表达式是一种匹配文本模式的工具,广泛应用于各种编程语言中。Python 通过 re 模块提供对正则表达式的支持,可用于处理字符串、文本文件等内容。正则表达式的原理是定义一种规则,根据这种规则去识别目标字符串中的符合规则的内容,使用规则可以进行灵活的匹配操作。正则表达式通过一些元字符和普通字符组合起来,构成一种定义规则的语言,常用于字符串匹配和操作。在 Python 中,re 模块提供了常见的正则表达式功能,如编译正则表达式、匹配字符串、搜索目标字符串、替换字符串等操作。
95 2
【Python】一文带你了解 正则表达式 + 简单操作
|
27天前
|
测试技术 Python
288统计出现最多次的字母(PYTHON)
288统计出现最多次的字母(PYTHON)
|
9月前
|
存储 索引 Python
【100天精通python】Day23:正则表达式,基本语法与re模块详解示例
【100天精通python】Day23:正则表达式,基本语法与re模块详解示例
86 0
|
6月前
|
Python
132 python高级 - 正则表达式(表示字符)
132 python高级 - 正则表达式(表示字符)
49 0
|
9月前
Python-初识正则表达式-指定匹配简单的日志数据
Python-初识正则表达式-指定匹配简单的日志数据
74 0
|
9月前
|
Python
python正则表达式的常用用法
python正则表达式的常用用法
|
11月前
|
Python
【Python】正则表达式操作
【Python】正则表达式操作
|
数据采集 Python
python小知识-正则表达
正则表达式是一种匹配字符串的规则,我们可以通过正则表达式去搜索指定规则的字符串
104 0
python小知识-正则表达
|
敏捷开发 Python
(Python)字符串统计排序
(Python)字符串统计排序
166 0