python程序设计
1.输入一个英文句子(句子中不包含标点符号)。把每个单词切分到一个列表中,并按单词的长度降序对列表进行排序。再用排序后的列表和每个单词的长度组合成一个新的列表,新列表中的每个元素是一个元组,元组的第1元素是单词,第2元素是其长度。最后输出这个新列表。
提示:用列表推导式构建一个单词长度组成的
列表。然后应用zip函数把排序后单词列表和长度列表组合。
输入:一个不带标点符号的英文句子
输出:每行一个新列表元素
输入样例:
Action speak louder than words
输出样例:
('Act1on,6)
('louder',6)
('speak',5)
('words',5)
('than',4)
# 请输入一个不带标点符号的英文句子
sentence = input("请输入一个英文句子:")
# 切分单词
words = sentence.split()
# 单词长度列表
lengths = [len(word) for word in words]
# 按单词长度降序排序
sorted_words = [word for _, word in sorted(zip(lengths, words), reverse=True)]
# 单词长度降序排序
sorted_lengths = sorted(lengths, reverse=True)
# 组合成新列表
result = [(word, length) for word, length in zip(sorted_words, sorted_lengths)]
# 遍历新列表
for item in result:
#输出遍历结果
print(item)
例如:
请输入一个英文句子:Action speak louder than words
('Action', 6)
('louder', 6)
('speak', 5)
('words', 5)
('than', 4)