📜  计算ASCII值之和小于和大于k的单词数(1)

📅  最后修改于: 2023-12-03 15:27:58.075000             🧑  作者: Mango

计算ASCII值之和小于和大于k的单词数

概述

本程序旨在计算输入文本中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