python编写一个函数getwords(),传入一个字符串,用ascall码提取字符串中所有的单词并返回单词列表,多个连在一起的大小写字母可视为一个单词
时间: 2023-12-03 15:46:34 浏览: 188
编写一个程序,用于统计文件中单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格)
5星 · 资源好评率100%
以下是一个实现该功能的 `getwords()` 函数的示例代码:
```python
def getwords(s):
words = [] # 存储单词的列表
cur_word = '' # 当前正在处理的单词
for c in s:
if c.isalpha(): # 如果当前字符是字母
if not cur_word: # 如果当前没有正在处理的单词
cur_word = c.lower() # 开始一个新单词
elif cur_word[-1].islower() == c.islower(): # 如果当前字符与前一个字符大小写相同
cur_word += c.lower() # 将当前字符加入当前单词
else: # 否则当前字符是一个新单词的开头
words.append(cur_word) # 将当前单词加入单词列表
cur_word = c.lower() # 开始一个新单词
else: # 如果当前字符不是字母
if cur_word: # 如果当前有正在处理的单词
words.append(cur_word) # 将当前单词加入单词列表
cur_word = '' # 重置当前单词
if cur_word: # 处理完整个字符串后,如果当前还有正在处理的单词
words.append(cur_word) # 将当前单词加入单词列表
return words
```
该函数首先将传入的字符串 `s` 初始化为空列表 `words` 和当前单词 `cur_word`。然后遍历字符串 `s` 中的每个字符 `c`,如果当前字符是字母,则根据字符与前一个字符的大小写关系判断是否将其加入当前单词,否则将当前单词加入单词列表,并重置当前单词。最后返回单词列表。需要注意的是,为了将多个连在一起的大小写字母视为一个单词,在将字符加入当前单词时,需要将其转换为小写字母。
阅读全文