1. Valitse koodausmenetelmäsi
* Caesar-salaus: Siirtää viestin jokaisen kirjaimen tietyn määrän paikkoja.
* Korvaava salaus: Korvaa jokaisen kirjaimen eri kirjaimella tai symbolilla.
* Morsekoodi: Käyttää pisteitä ja viivoja edustamaan kirjaimia.
* Binäärikoodi: Käyttää 0:ta ja 1:tä edustamaan kirjaimia.
2. Kirjoita koodaus/dekoodausfunktiot (Python-esimerkit)
``` python
def caesar_encrypt(teksti, vaihto):
tulos =''
char tekstissä:
jos char.isalpha():
start =ord('a') if char.islower() else ord('A')
shifted_char =chr((ord(char) - aloitus + siirto) % 26 + aloitus)
muu:
shifted_char =merkki
tulos +=shifted_char
palauttaa tuloksen
def caesar_decrypt(teksti, vaihto):
return caesar_encrypt(teksti, -vaihto)
def substitution_encrypt(teksti, avain):
tulos =''
char tekstissä:
jos char.isalpha():
index =ord(char.lower()) - ord('a')
shifted_char =avain[indeksi]
muu:
shifted_char =merkki
tulos +=shifted_char
palauttaa tuloksen
def substitution_decrypt(teksti, avain):
tulos =''
char tekstissä:
jos char.isalpha():
indeksi =avain.indeksi(merkki.alempi())
shifted_char =chr(indeksi + ord('a'))
muu:
shifted_char =merkki
tulos +=shifted_char
palauttaa tuloksen
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(text):
tulos =''
merkille text.upper():
if char !=' ':
tulos +=MORSE_CODE_DICT.get(char, '#') + ' '
muu:
tulos +=' / '
palauta tulos.strip()
def morse_decrypt(text):
tulos =''
morse_words =text.split(' / ')
sanalle morse_words:
morse_kirjaimet =sana.split(' ')
morse_letters-kirjaimelle:
jos kirjain !='':
avaimelle arvo MORSE_CODE_DICT.items():
jos arvo ==kirjain:
tulos +=avain
tulos +=' '
palauta tulos.strip()
```
3. Pelataan!
* Valitse salainen viesti: Ajattele hauskaa viestiä, arvoitusta tai jopa hauskaa vitsi.
* Valitse koodausmenetelmä: Päätä, mitä salausmenetelmää käytät (Caesar-salaus, korvaus, morsekoodi jne.)
* Suorita koodi: Käytä asianmukaista toimintoa viestin salaamiseen.
* Jaa koodattu viesti: Kirjoita koodattu viesti paperille tai näytä se näytöllä.
* Haasta perheesi: Anna heidän selvittää koodi ja tulkita salainen viesti!
Esimerkki:
``` python
viesti ="Salainen viesti"
encrypted_message =caesar_encrypt(viesti, 3)
print(encrypted_message) # Tulos:"Vhqvlu Phvvdjh"
```
Lisävinkkejä:
* Vaikeusaste: Säädä koodausmenetelmän monimutkaisuus perheesi iän ja taitojen mukaan.
* Vihjeitä: Jos pelaajilla on vaikeuksia, tarjoa vinkkejä tai vihjeitä koodin murtamiseen.
* Tee siitä interaktiivinen: Käytä taulua, liitua tai digitaalista työkalua tehdäksesi prosessista kiinnostavamman.
* Pidä hauskaa! Tavoitteena on luoda ikimuistoinen ja nautinnollinen koko perheen peliilta!
Kerro minulle, jos sinulla on kysyttävää tai haluat minun selittävän koodin yksityiskohtaisemmin. Hyvää koodausta ja dekoodausta!