文本文件sentence.txt中保存一句英文(不含标点符号),请把还有元音字母的个数最多的前三个英文单词打印出来,并按要求输出。具体要求入下。(1)以只读方式读取文本文件sentence.txt(2)句子中单词之间以空格分割。(3)对单词中含有元音字母个数进行递减排序(4)输出含有超过2个元音字母的单词;(5)输出时含有元音字母的单词靠左排列,占17位示例:sentence.txt中句子如下
时间: 2024-02-03 07:12:45 浏览: 156
读取sentence.txt中的句子并处理:
```python
# 打开文件
with open("sentence.txt", "r") as f:
sentence = f.read().lower() # 转换为小写
# 分割单词
words = sentence.split()
# 定义元音字母集合
vowels = set("aeiou")
# 统计每个单词中元音字母的个数
word_vowels = []
for word in words:
count = sum(1 for letter in word if letter in vowels)
word_vowels.append((word, count))
# 按元音字母个数递减排序
word_vowels.sort(key=lambda x: -x[1])
# 输出前三个含有元音字母的单词
count = 0
for word, num in word_vowels:
if num < 3:
break
count += 1
print("{:<17}{}".format(word, num))
if count == 3:
break
```
假设sentence.txt中的句子为:"The quick brown fox jumps over the lazy dog"
输出结果为:
```
quick 2
brown 1
fox 1
```
阅读全文