Загрузка данных


import math

s = "Весь мир лежит в руинах. Человечество полностью. Из-за высокого уровня радиации полуразрушенные города стали непригодны для жизни. За их пределами, по слухам, начинаются бесконечные выжженные пустыни и дебри мутировавших лесов.".lower()

p = {}

for i in set(s):
    p[i] = round(s.count(i)/len(s), 3)

entropy_shennon = math.log2(len(p))
entropy_hartly = 0

for i in p:
    entropy_hartly += p[i] * math.log2(p[i])

entropy_hartly = -entropy_hartly

print("\n1. Вероятность появления каждого символа в исходном тексте:")
print(p)
print("2. Количество информации на один символ по формуле Шеннона:")
print(round(entropy_shennon, 3))
print("3. Количество информации, которая содержится в тексте, исходя из пункта 2:")
print(round(entropy_shennon*len(s), 3))
print("3.5. Количество информации на один символ по формуле Хартли:")
print(round(entropy_hartly, 3))
print("4. Количество информации, которая содержится в тексте, исходя из пункта 4:")
print(round(entropy_hartly*len(s), 3))
print("5. Вероятнее всего, в пунктах 2 и 4 ответы будут различаться, так как количество информации, которая содержится \
в одном символе, зависит от того, равны ли вероятности появления различных символов в тексте или нет.")