导读:今天首席CTO笔记来给各位分享关于python中一共有多少个单词的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
python求单词个数
#s="Hello,my name is Jim Green and you?"
s=input("输入英文句子:")
lens=len(s) #字符总数
listb = []
js = 0
for j in s:
'''(Tab)处作缩进代码处理'''
(Tab)if j in [",", ".", "!", "?"]:
(Tab)(Tab)js += 1 # 标点符号计数
(Tab)(Tab)j = " "
(Tab)(Tab)listb.append(j)
(Tab)else:
(Tab)(Tab)listb.append(j)
ss = ("".join(listb))
ssl = ss.split(" ")
lenssl = len(ssl)+1-js #单词总数
#print(f"{s}\n{ss}")
print(f"{lens}#{lenssl}")
'''运行效果
输入英文句子:Hello,my name is Bob.
21#5
'''
Python中第一行输入n行,接下来有n行,每一行有一个单词
来输入N*10行,每一行有一个单词,一个整数(表示评分),由空格隔开
42个单词是学习Python必须背会的单词,也是代码中常见的单词,很多人声称自己精通Python,然后自己却写不出Pythonic的代码,对很多常用的包不是很了解。
在Python中,有一些字符串具有某些特定功能,如 import 、 class 等。我们在选择变量名时,应注意避开这些保留字符。
python统计字符串中单词数量
使用比较基本的方法写的参考代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#python 2.7
import re
print u'请输入字符串:'
wz = raw_input()
s = wz.lower()
#小写单词的正则表达式
r='[a-z]+'
#找到所有单词
ws = re.findall(r,s)
#定义一个字典来存储单词和次数
dt = {}
for w in ws:
dt[w] = dt.setdefault(w,0)+1
#wd来存储单词集合,可能有几个,比如2个单词,都出现30次
wd = []
#max用来存储单词出现的最多的次数
max = 0
for word,times in dt.items():
if timesmax:
wd = []
wd.append(word)
max = times
elif times == max:
wd.append(word)
print u'有%s个单词,出现频率最高:'%len(wd)
for x in wd:
print "%s\t%s"%(x,max)
测试
请输入字符串:
A good beginning makes a good ending!!!
有2个单词,出现频率最高:
a 2
good 2
python统计个单词数目
楼上的程序存在诸多问题,如没有处理标点,文件读取方法错误等。
请问楼主要区分大小写吗?如果区分的话,就按照下面的来:
import re
def get_word_frequencies(file_name):
dic = {}
txt = open(filename, 'r').read().splitlines()
#下面这句替换了除了'-'外的所有标点,因为'-'可能存在于单词中。
txt = re.sub(r'[^\u4e00-\u94a5\w\d\-]', ' ', txt)
#替换单独的'-'
txt = re.sub(r' - ', ' ', txt)
for line in :
for word in line.split():
#如果不区分大小写,那就一律按照小写处理,下面那句改为dic.setdefault(word.lower(), 0)
dic.setdefault(word, 0)
dic[word] += 1
print dic
if __name__ = '__main__':
get_word_frequencies('test.txt')
有问题继续追问吧
python怎么统计一句英语的单词数量并输出?
题主你好,
代码及测试截图如下:
说明: 上图红框处的result可不写, 只是为了看一下分隔结果是否正确.
希望可以帮到题主, 欢迎追问.
结语:以上就是首席CTO笔记为大家整理的关于python中一共有多少个单词的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~