Stáhněte aplikaci
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Změřte Shannonovu entropii v bitech na bajt pro řetězec nejvýše 65536 bajtů. Ověřte nulu pro prázdný či konstantní vstup a osm pro všech 256 stejně četných hodnot, odmítejte jiné vstupy než bajty.
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.
Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
from collections import Counter
from math import log2
def byte_entropy(data):
if not isinstance(data, bytes) or len(data) > 65536:
raise ValueError("bytes.limit")
if not data:
return 0.0
n = len(data)
return sum((count / n) * log2(n / count) for count in Counter(data).values())Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.