问题描述
创建程序文件sy4-13.py,实现程序功能:随机输入一行字符串,统计其中不同长度的单词出现次数,输出单词长度和对应单词个数,以列表形式输出。按单词长度从小到大排序。
题目要求
1.标点符号不能计入单词长度,在统计前可以将所有的标点符号置换为空字符。
2 .输出格式为:[(单词长度,单词个数),(单词长度,单词个数)……]
案例代码
import string
def count_word_lengths(sentence):
# 将标点符号替换为空字符
sentence = sentence.translate(str.maketrans("", "", string.punctuation))
word_counts = {}
# 统计不同长度的单词出现次数
words = sentence.split()
for word in words:
length = len(word)
if length not in word_counts:
word_counts[length] = 0
word_counts[length] += 1
# 按单词长度从小到大排序,并生成输出列表
output = [(length, word_counts[length]) for length in sorted(word_counts)]
return output
# 随机输入一行字符串
sentence = input("请输入一行字符串: ")
# 统计单词长度和个数,并按要求输出
result = count_word_lengths(sentence)
print(result)
使用该程序,您可以随机输入一行字符串,然后统计其中不同长度的单词出现次数,并按照单词长度从小到大进行排序。程序会将结果以列表形式输出,每个元素都包含一个单词长度和对应的单词个数。注意,标点符号不会计入单词长度。
运行截图
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END