文本文件sentence.txt中保存一句英文(不含标点符号),请把还有元音字母的个数最多的前三个英文单词打印出来,并按要求输出

(1)以只读方式读取文本文件sentence.txt
(2)句子中单词之间以空格分割。
(3)对单词中含有元音字母个数进行递减排序
(4)输出含有超过2个元音字母的单词;
(5)输出时含有元音字母的单词靠左排列,占17位
示例:sentence.txt中句子如下

img

with open('sentence.txt','r') as f:
    s=' '.join(f.readlines())
lst=s.split()
newlst=[]
chrs=['a','e','i','o','u']
for i in range(len(lst)):
    n=0
    for c in chrs:
        n+=lst[i].lower().count(c)
    if n>2:
        newlst.append({"n":n,"text":lst[i]})


newlst=sorted(newlst,key=lambda x:x['n'],reverse=True)

i=0
for item in newlst:
    print(item['text'].ljust(17,' '))
    i+=1
    if i>2:
        break


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632