程序补充题:输入一个英文句子,输出每个词的字母个数

例如:
输入:Hello Python world!
输出:5 6 5

import string
words = input()
# 去除所有标点符号
....
# 英语句子分词
________
f = lambda x: len(x)
for i in __________:
    print(f(i),_______)

请求补充以上程序

import string

words = input(">>>")

w = map(lambda x:''.join(map(lambda y: y if y in string.ascii_letters else '', x)) , words.split())
f = lambda x: len(x)
for i in w:
    print(f(i), end=' ')
'''
--result
>>>Hello Python world!
5 6 5 

'''