Не понимание как написать программу - Компьютерные вопросы

Вопрос Не понимание как написать программу

Регистрация
9 Мар 2013
Сообщения
101
Репутация
0
Спасибо
0
Монет
0
Помогите пожалуйста !

Для кодирования строки равномерным двоичным кодом, например, для

слова «машина», алфавит: м,а,ш,н,и – 5 букв, достаточно 3 бита.

Кодовый словарь:

М 001

А 010

Ш 011

И 100

Н 101

Слово «машина» кодируется сообщением 001010011100101010.

Нужно, чтобы все буквы алфавита имели соответствие -двоичный код, и при вводе слова выходил код.

Составить программу, которая кодирует строку любой длины, составляет кодовый словарь и выводит закодированное сообщение.
 
Регистрация
27 Фев 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
не понимание как ставить слова в падежи
 
Регистрация
20 Окт 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Напиши мне на сименсе приложение для взлома кредиток
 
Регистрация
3 Июн 2013
Сообщения
68
Репутация
0
Спасибо
0
Монет
0
Держи: def encrypt(s):
from math import log2
d, b, s = dict(), int(log2(len(set(s)))) + 1, s.upper()
for i in range(len(s)):
if s not in d.keys():
d.update({s: '0' * (b - int(log2(i + 1)) - 1) + bin(i + 1)[2:]})
return (d, ''.join(d[k] for k in s))
print(*encrypt(input()), sep='\n')
24751000_ed4e0cb9a23d016b1db88e03ff4bf41c_800.png

 
Регистрация
21 Дек 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Составляете словарь. Либо из головы придумываете, либо из учебника. code_list = {"А": "010", "И": "100", "Н": "101", "М": "001", "Ш": "011"}

def encode_fnct(text):
result = [code_list[l.upper()] for l in text]
return "".join(result)

print(encode_fnct("машина"))
 
Сверху Снизу