Częstości na planszy
Łamanie szyfru Cezara i rola szyfrowania informacji - Informatyka - liceum klasa 2 (Python)
Wykres pokazuje, dlaczego analiza częstości działa. Strzałka rysuje 26 słupków: wysokość słupka to liczba wystąpień litery (od A do Z) w szyfrogramie, 5 jednostek na każde wystąpienie. Wykres szyfrogramu ma **ten sam kształt** co wykres tekstu jawnego, tylko przesunięty w prawo o klucz (z zawinięciem). Najwyższy słupek tekstu jawnego to A, w szyfrogramie przesunięty o 7 pozycji: H.
arrow = Sprite()
arrow.image = 16
arrow.size = 10
world.add(arrow)
def bar(i, h):
arrow.pen.on = False
arrow.position = (-91 + 7 * i, -80)
arrow.angle = 0
arrow.pen.on = True
for side in [h, 5, h, 5]:
arrow.move(side)
arrow.turn(90)
def counts(text):
result = [0] * 26
for ch in text:
if "A" <= ch <= "Z":
result[ord(ch) - ord("A")] += 1
return result
secret = "HSNVYFATF UH ALRZAHJO AV DHGUH JGLZJ THABYF G PUMVYTHAFRP H ZGFMY JLGHYH QLZA UHQWYVZAZGFT WYGFRSHKLT ZGFMYB WVKZAHDPLUPVDLNV"
for i, n in enumerate(counts(secret)):
if n > 0:
bar(i, 5 * n)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 2·Zaloguj się, aby zapisać postęp na koncie.