📜  计算特殊字符与给定字符串的子字符串长度之比的总和(1)

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

计算特殊字符与给定字符串的子字符串长度之比的总和

本程序用于计算特殊字符(包括空格,制表符和换行符)在给定字符串中出现的频率,以及特殊字符与给定字符串的子字符串长度之比的总和。

使用方法

输入一个字符串并运行程序,程序会输出以下结果:

  • 特殊字符(空格,制表符和换行符)在字符串中出现的次数
  • 字符串长度
  • 子字符串长度之和
  • 特殊字符与子字符串长度之比的总和
示例代码
def count_special_chars(string):
    """
    计算特殊字符在字符串中出现的次数
    """
    special_chars = [" ", "\t", "\n"]
    count = 0
    for char in string:
        if char in special_chars:
            count += 1
    return count


def count_substrings(string):
    """
    计算给定字符串的所有子字符串长度之和
    """
    length = len(string)
    count = 0
    for i in range(length):
        for j in range(i+1, length+1):
            count += j - i
    return count


def calculate_ratio(string):
    """
    计算特殊字符与给定字符串的子字符串长度之比的总和
    """
    special_chars_count = count_special_chars(string)
    string_length = len(string)
    substrings_length = count_substrings(string)
    ratio = special_chars_count / substrings_length
    return ratio


if __name__ == "__main__":
    string = input("请输入一个字符串:")
    special_chars_count = count_special_chars(string)
    string_length = len(string)
    substrings_length = count_substrings(string)
    ratio = calculate_ratio(string)
    print("特殊字符出现次数:{}".format(special_chars_count))
    print("字符串长度:{}".format(string_length))
    print("子字符串长度之和:{}".format(substrings_length))
    print("特殊字符与子字符串长度之比的总和:{}".format(ratio))
运行示例
请输入一个字符串:Hello world!
特殊字符出现次数:1
字符串长度:12
子字符串长度之和:78
特殊字符与子字符串长度之比的总和:0.01282051282051282