python一个小编程题
除了空格还有其他符号怎么排除呀 求大佬写个程序 ASCII试试看 s = "hello, everybody, I'm a student."import re
s = +', s) if i]
print(len(s))
有什么符号自己往[]里加 isalpha方法 a="hello i am student"
l=a.split(" ")
print(len(i))
如果没有要求就这么写就可以 本帖最后由 yao5201478 于 2020-4-12 18:46 编辑
如果输入标准的英语格式(标点符号后面都有一个空格),只需要用 python 的 split(' ') 分割,再用len() 统计个数就行了
你说的问题可以用 re 模块 的 sub 方法解决
``` python
import re
exp = 'Most certainly, you can borrow my pencil.'
# 将标点符号换为空格,再分割,所以结果中会包含空的字符串
r = re.sub('[.?,;:!]', ' ', exp).split(' ')
# 遍历结果,如果是空字符串则移除
for i in r:
if not i:
r.remove(i)
# 输出列表长度即单词数量
print(len(r))
# 如果要排除重复出现的单词就用set去重
print(len(set(r)))
``` bp946 发表于 2020-4-12 17:57
s = "hello, everybody, I'm a student."
import re
s = +', s) if i]
不太好,最简单方式是吧字母放到集合中,排除不是字母的。 Zhk 发表于 2020-4-12 18:35
不太好,最简单方式是吧字母放到集合中,排除不是字母的。
有什么区别吗? 嘿嘿,这个我正好做过【Python计算30年考研英语真题单词-词频统计】https://mp.weixin.qq.com/s/zgA4ZpcmVvJ9PblRQf5M3Q yao5201478 发表于 2020-4-12 18:19
如果输入标准的英语格式(标点符号后面都有一个空格),只需要用 python 的 split(' ') 分割,再用len() 统 ...
非常感谢
页:
[1]
2