Обучение искусственного интеллекта: кодирование сообщения
Гайри пишет, что ИИ придумал алгоритм шифрования, который меняет коды символов каждую минуту. Прина и Шароми хотят проверить надёжность алгоритма. Нужно протестировать его на учебных данных, где мощность алфавита составляет два символа {A, B}.
Помоги ребятам написать программу, которая закодирует сообщение AABBABA, чтобы проверить результат, полученный ИИ.
В первой строке входных данных написан код буквы А, а на второй — код буквы В.
Вывести склейку строк a и b можно так:
print(a + b)
Ввод Вывод
1
0 1100101
?
! ??!!?!?
Как сделать?
тэги: python, информатика категория: образование ответить комментировать бонус 1 ответ: старые выше новые выше по рейтингу 1 vdtest [43.2K] 16 минут назад
Самая простая программа должна ввести значения кодов для букв "A" и "B" в словарь code и распечатать каждый символ сообщения без перевода строки, указав в оператор print параметр end.
После окончания вывода просто перевести строку пустым оператором print:
code={"A":input(),"B":input()}
for i in "AABBABA":
print(code[i],end="")
print()
Можно поместить кодируемую строку в переменную msg, чтобы можно было, при необходимости в дальнейшем, вводить другие примеры кодирования:
code={"A":input(),"B":input()}
msg="AABBABA"
for i in msg:
print(code[i],end="")
print()
Но в этих вариантах никакой склейки не будет.
Можно сделать склейку результатов в переменную s:
code={"A":input(),"B":input()}
s=""
for i in "AABBABA":
s+=code[i]
print(s)
Можно поместить кодируемую строку в переменную msg, чтобы можно было, при необходимости в дальнейшем, вводить другие строки для кодирования:
code={"A":input(),"B":input()}
msg="AABBABA"
s=""
for i in msg:
s+=code[i]
print(s)
Но в этих вариантах не будет склейки a+b
Можно сделать программу и без использования словаря:
a=input()
b=input()
s=""
for i in "AABBABA":
s+=a if i=="A" else b
print(s)
Можно написать и так (со склейкой):
a=input()
b=input()
print(a+a+b+b+a+b+a)
Источник: