Условие Фано означает, что никакое кодовое слово не может быть началом другого кодового слова. Поскольку буква Н кодируется нулем, значит, мы не можем кодировать Л и М таким образом, чтобы оно начиналось с нуля. Значит, будем кодировать так, чтобы начиналось с единицы. Допустим, Л - 11. Тогда М невозможно закодировать двумя символами. Значит, будем использовать три. Пусть Л - 110, а М - 111. Следовательно: Н = 0 (1 символ) К = 10 (2 символа) Л = 110 (3 символа) М = 111 (3 символа)
print("Ноль в качестве знака операции"
"\nзавершит работу программы")
while True:
s = input("Знак (+,-,*,/): ")
if s == '0':
break
if s in ('+', '-', '*', '/'):
x = float(input("x="))
y = float(input("y="))
if s == '+':
print("%.2f" % (x+y))
elif s == '-':
print("%.2f" % (x-y))
elif s == '*':
print("%.2f" % (x*y))
elif s == '/':
if y != 0:
print("%.2f" % (x/y))
else:
print("Деление на ноль!")
else:
print("Неверный знак операции!")