1. Odaberite svoju metodu kodiranja
* Cezarova šifra: Pomiče svako slovo u poruci za određeni broj mjesta.
* Supstitucijska šifra: Zamjenjuje svako slovo drugim slovom ili simbolom.
* Morseov kod: Koristi točke i crtice za predstavljanje slova.
* Binarni kod: Koristi 0 i 1 za predstavljanje slova.
2. Napišite svoje funkcije kodiranja/dekodiranja (Python primjeri)
```python
def caesar_encrypt(tekst, pomak):
rezultat =''
za char u tekstu:
ako char.isalpha():
start =ord('a') if char.islower() else ord('A')
shifted_char =chr((ord(char) - start + shift) % 26 + start)
drugo:
pomaknuti_znak =znak
rezultat +=pomaknuti_znak
vratiti rezultat
def caesar_decrypt(tekst, pomak):
vrati caesar_encrypt(tekst, -shift)
def substitution_encrypt(tekst, ključ):
rezultat =''
za char u tekstu:
ako char.isalpha():
indeks =ord(char.lower()) - ord('a')
pomaknuti_znak =tipka[indeks]
drugo:
pomaknuti_znak =znak
rezultat +=pomaknuti_znak
vratiti rezultat
def substitution_decrypt(tekst, ključ):
rezultat =''
za char u tekstu:
ako char.isalpha():
indeks =ključ.index(char.lower())
shifted_char =chr(index + ord('a'))
drugo:
pomaknuti_znak =znak
rezultat +=pomaknuti_znak
vratiti rezultat
MORSE_CODE_DICT ={ 'A':'.-', 'B':'-...',
'C':'-.-.', 'D':'-..', 'E':'.',
'F':'..-.', 'G':'--.', 'H':'....',
'I':'..', 'J':'.---', 'K':'-.-',
'L':'.-..', 'M':'--', 'N':'-.',
'O':'---', 'P':'.--.', 'Q':'--.-',
'R':'.-.', 'S':'...', 'T':'-',
'U':'..-', 'V':'...-', 'W':'.--',
'X':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.----', '2':'..---', '3':'...--',
'4':'....-', '5':'.....', '6':'-....',
'7':'--...', '8':'---..', '9':'----.',
'0':'-----', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-....-',
'(':'-.--.', ')':'-.--.-'}
def morse_encrypt(tekst):
rezultat =''
za char u text.upper():
if char !=' ':
rezultat +=MORSE_CODE_DICT.get(char, '#') + ' '
drugo:
rezultat +=' / '
vrati rezultat.strip()
def morse_decrypt(tekst):
rezultat =''
morse_words =text.split(' / ')
za riječ u morse_words:
morse_slova =riječ.split(' ')
za pismo u morse_slovima:
ako je slovo !='':
za ključ, vrijednost u MORSE_CODE_DICT.items():
ako je vrijednost ==slovo:
rezultat +=ključ
rezultat +=' '
vrati rezultat.strip()
```
3. Igrajmo se!
* Odaberite tajnu poruku: Smislite zabavnu poruku, zagonetku ili čak smiješnu šalu.
* Odaberite metodu kodiranja: Odlučite koju ćete metodu šifriranja koristiti (Cezarovu šifru, zamjenu, Morseovu abecedu itd.)
* Pokrenite kod: Koristite odgovarajuću funkciju za šifriranje svoje poruke.
* Podijelite kodiranu poruku: Napišite kodiranu poruku na komad papira ili je prikažite na ekranu.
* Izazovi svoju obitelj: Neka otkriju šifru i dešifriraju tajnu poruku!
Primjer:
```python
poruka ="Tajna poruka"
šifrirana_poruka =caesar_encrypt(poruka, 3)
print(encrypted_message) # Izlaz:"Vhqvlu Phvvdjh"
```
Dodatni savjeti:
* Teškoća: Prilagodite složenost metode kodiranja tako da odgovara dobi i vještinama vaše obitelji.
* Savjeti: Ako se igrači bore, ponudite savjete ili tragove koji će im pomoći da razbiju šifru.
* Učinite ga interaktivnim: Upotrijebite bijelu ploču, kredu ili digitalni alat kako biste proces učinili privlačnijim.
* Zabavite se! Cilj je stvoriti nezaboravnu i ugodnu večer obiteljske igre!
Obavijestite me ako imate bilo kakvih pitanja ili ako želite da vam detaljnije objasnim neki od kodova. Sretno kodiranje i dekodiranje!