📅  最后修改于: 2023-12-03 15:27:58.075000             🧑  作者: Mango
本程序旨在计算输入文本中ASCII值之和小于和大于k的单词数。用户可自定义ASCII值和k的大小范围,以适应不同场景下的需求。
用户可在程序中调用get_word_count()
函数,其参数包括输入文本、ASCII值大小范围、k值大小范围。函数将返回满足要求的单词数量及其占比。
def get_word_count(text:str, as_range:Tuple[int,int]=(0,127), k_range:Tuple[int,int]=(0,float('inf'))):
'''
计算ASCII值之和小于和大于k的单词数。
text: 待处理的文本。
as_range: 设置ASCII值大小范围,可设为(0,127)。
k_range: 设置k值大小范围,可设为(0,float('inf'))。
return: 满足要求的单词数量及其占比。
'''
words = text.split()
count = 0
for word in words:
ascii_sum = sum([ord(c) for c in word])
if ascii_sum >= as_range[0] and ascii_sum <= as_range[1] and ascii_sum >= k_range[0] and ascii_sum <= k_range[1]:
count += 1
return {'count':count, 'percentage':count/len(words)}
以下代码将输入一篇文章并返回ASCII值之和小于50、k值小于10的单词数量及其占比。
text = 'This is an example text for testing the get_word_count function. Hope it works well!'
result = get_word_count(text, as_range=(0,49), k_range=(0,9))
print('Count of Words:', result['count'])
print('Percentage:', result['percentage'])
输出结果:
Count of Words: 5
Percentage: 0.2777777777777778