1. Izberite svoj način kodiranja
* Caesar Cipher: Premakne vsako črko v sporočilu za določeno število mest.
* Substitucijska šifra: Vsako črko nadomesti z drugo črko ali simbolom.
* Morsejeva abeceda: Za predstavitev črk uporablja pike in pomišljaje.
* Dvojiška koda: Za predstavitev črk uporablja 0 in 1.
2. Napišite svoje funkcije kodiranja/dekodiranja (primeri Python)
```python
def caesar_encrypt (besedilo, premik):
rezultat =''
za char v besedilu:
če char.isalpha():
start =ord('a') if char.islower() else ord('A')
shifted_char =chr((ord(char) - start + shift) % 26 + start)
drugače:
premaknjeni_char =char
rezultat +=premaknjen_znak
vrni rezultat
def caesar_decrypt(besedilo, premik):
vrni caesar_encrypt (besedilo, -shift)
def substitution_encrypt(besedilo, ključ):
rezultat =''
za char v besedilu:
če char.isalpha():
indeks =ord(char.lower()) - ord('a')
shifted_char =ključ [indeks]
drugače:
premaknjeni_char =char
rezultat +=premaknjen_znak
vrni rezultat
def substitution_decrypt(besedilo, ključ):
rezultat =''
za char v besedilu:
če char.isalpha():
index =key.index(char.lower())
shifted_char =chr(index + ord('a'))
drugače:
premaknjeni_char =char
rezultat +=premaknjen_znak
vrni 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 (besedilo):
rezultat =''
za char v text.upper():
if char !=' ':
rezultat +=MORSE_CODE_DICT.get(char, '#') + ' '
drugače:
rezultat +=' / '
vrni rezultat.strip()
def morse_decrypt(besedilo):
rezultat =''
morse_words =text.split(' / ')
za besedo v morse_words:
morse_letters =word.split(' ')
za pismo v morse_letters:
če črka !='':
za ključ, vrednost v MORSE_CODE_DICT.items():
če je vrednost ==črka:
rezultat +=tipka
rezultat +=' '
vrni rezultat.strip()
```
3. Igrajmo se!
* Izberite skrivno sporočilo: Pomislite na zabavno sporočilo, uganko ali celo smešno šalo.
* Izberite način kodiranja: Odločite se, katero metodo šifriranja boste uporabili (Caesarjeva šifra, zamenjava, Morsejeva abeceda itd.)
* Zaženite kodo: Za šifriranje sporočila uporabite ustrezno funkcijo.
* Deli kodirano sporočilo: Napišite kodirano sporočilo na list papirja ali ga prikažite na zaslonu.
* Izzovite svojo družino: Naj ugotovijo kodo in razvozlajo skrivno sporočilo!
Primer:
```python
message ="Skrivno sporočilo"
šifrirano_sporočilo =caesar_encrypt(sporočilo, 3)
print(encrypted_message) # Izhod:"Vhqvlu Phvvdjh"
```
Dodatni nasveti:
* Težavnost: Prilagodite kompleksnost metode kodiranja, da bo ustrezala starosti in veščinam vaše družine.
* Namigi: Če imajo igralci težave, ponudite namige ali namige, ki jim bodo pomagali razbiti kodo.
* Naredite interaktivno: Uporabite tablo, kredo ali digitalno orodje, da bo postopek bolj privlačen.
* Zabavajte se! Cilj je ustvariti nepozaben in prijeten večer družinske igre!
Sporočite mi, če imate kakršna koli vprašanja ali če želite, da vam katero koli kodo podrobneje razložim. Veselo kodiranje in dekodiranje!