1. Изберете своя метод на кодиране
* Caesar Cipher: Измества всяка буква в съобщението на определен брой места.
* Шифър за заместване: Заменя всяка буква с различна буква или символ.
* Морзова азбука: Използва точки и тирета за представяне на букви.
* Двоичен код: Използва 0 и 1 за представяне на букви.
2. Напишете вашите функции за кодиране/декодиране (примери на Python)
``` питон
def caesar_encrypt(текст, преместване):
резултат =''
за char в текст:
ако char.isalpha():
start =ord('a') if char.islower() else ord('A')
shifted_char =chr((ord(char) - начало + shift) % 26 + начало)
иначе:
shifted_char =символ
резултат +=shifted_char
върнат резултат
def caesar_decrypt(текст, преместване):
връщане на caesar_encrypt (текст, -shift)
def substitution_encrypt(текст, ключ):
резултат =''
за char в текст:
ако char.isalpha():
индекс =ord(char.lower()) - ord('a')
shifted_char =ключ [индекс]
иначе:
shifted_char =символ
резултат +=shifted_char
върнат резултат
def substitution_decrypt(текст, ключ):
резултат =''
за char в текст:
ако char.isalpha():
индекс =key.index(char.lower())
shifted_char =chr(index + ord('a'))
иначе:
shifted_char =символ
резултат +=shifted_char
върнат резултат
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 (текст):
резултат =''
за char в text.upper():
if char !=' ':
резултат +=MORSE_CODE_DICT.get(char, '#') + ' '
иначе:
резултат +='/'
върнете result.strip()
def morse_decrypt (текст):
резултат =''
morse_words =text.split(' / ')
за дума в morse_words:
morse_letters =word.split(' ')
за писмо в morse_letters:
if letter !='':
за ключ, стойност в MORSE_CODE_DICT.items():
ако стойност ==буква:
резултат +=ключ
резултат +=' '
върнете result.strip()
```
3. Да играем!
* Изберете тайно съобщение: Измислете забавно послание, гатанка или дори забавна шега.
* Изберете метод на кодиране: Решете кой метод на криптиране ще използвате (шифър на Цезар, заместване, морзова азбука и т.н.)
* Изпълнете кода: Използвайте подходящата функция, за да шифровате съобщението си.
* Споделете кодираното съобщение: Напишете кодираното съобщение на лист хартия или го покажете на екран.
* Предизвикайте семейството си: Нека разгадаят кода и дешифрират тайното съобщение!
Пример:
``` питон
съобщение ="Тайно съобщение"
encrypted_message =caesar_encrypt(съобщение, 3)
print(encrypted_message) # Изход:"Vhqvlu Phvvdjh"
```
Допълнителни съвети:
* Трудност: Регулирайте сложността на метода на кодиране, за да съответства на възрастта и уменията на вашето семейство.
* Съвети: Ако играчите се затрудняват, предложете съвети или улики, за да им помогнете да разбият кода.
* Направете го интерактивен: Използвайте бяла дъска, тебешир или дигитален инструмент, за да направите процеса по-ангажиращ.
* Забавлявайте се! Целта е да създадете една запомняща се и приятна вечер за семейни игри!
Уведомете ме, ако имате някакви въпроси или ако искате да обясня някой от кода по-подробно. Приятно кодиране и декодиране!