Download de toepassing
Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.
Wijs canonieke binaire prefixcodes toe aan maximaal 256 symbolen met lengten van 1 tot en met 16. Test lege en onvolledige tabellen, sorteer gelijke lengten volgens de oorspronkelijke Unicode-reeksen en weiger overvolle of ongeldige lengten zonder normalisatie.
Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.
Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.
Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
def canonical_codes(lengths):
if type(lengths) is not dict or len(lengths) > 256:
raise ValueError("codes.input")
if any(type(s) is not str or not s or type(n) is not int or
not 1 <= n <= 16 for s,n in lengths.items()):
raise ValueError("codes.length")
result, code, previous = {}, 0, 0
for symbol, length in sorted(lengths.items(), key=lambda p:(p[1],p[0])):
code <<= length-previous
if code >= 1 << length:
raise ValueError("codes.oversubscribed")
result[symbol] = format(code, f"0{length}b")
code += 1
previous = length
return resultControleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.