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!

目录
相关文章
|
24天前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
36 3
|
23天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
17 1
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
38 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
1月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
22 3
|
6月前
|
存储 运维 数据挖掘
Python列表中每个元素前面连续重复次数的数列统计
Python列表中每个元素前面连续重复次数的数列统计
56 1
|
1月前
|
数据可视化 Serverless Python
Python小事例—质地不均匀的硬币的概率统计
Python小事例—质地不均匀的硬币的概率统计
|
2月前
|
Python
Python类中属性和方法区分3-8
Python类中属性和方法区分3-8
|
4月前
|
数据可视化 数据挖掘 定位技术
Seaborn统计图表指南
【7月更文挑战第12天】Seaborn是Python的数据可视化库,基于Matplotlib,提供美观的统计图形。要开始使用,需通过`pip install seaborn`安装。它支持多种图表,如分布图、热图、聚类图、箱线图、小提琴图、联合分布图、点图、多变量分布图、线性关系图、树地图、时间序列图、分面绘图、分类数据图、分布对比图、多变量图和气泡图等,适用于复杂数据分析和展示。Seaborn简化了创建这些高级图表的过程,使数据可视化更直观和高效。
73 5
|
5月前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
69 7
|
5月前
|
监控 数据可视化 数据库
【python项目推荐】键盘监控--统计打字频率
【python项目推荐】键盘监控--统计打字频率
74 13