Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.03.2021
Сообщений: 2

Простой дешифратор. Не могу понять в чем косяк

31.03.2021, 14:56. Показов 809. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задачи такая: на вход дается 4 слова. Первые два - это слово и его шифр, на основании которых нужно построить соответствие одной буквы какому-то символу. Последующие два - опять слово и шифр, которые соответственно нужно закодировать и раскодировать.

Пример ввода 1:

abcd
*d%#
abacabadaba
#*%*d*%

Пример вывода 1:

*d*%*d*#*d*
dacabac

Я решила составить словари соответствия (нужно два, сначала для поиска по ключам из слова, затем для поиска по ключам из шифра). Ниже процедура создания словаря.

Python
1
2
3
4
5
6
7
def create_dict(text, cipher):
    
    dic = dict()
    for i in range(len(text)):
        dic[text[i]] = chiper[i]
    
    return dic
#Далее я эту процедуру для создания двух словарей решила прогнать 2 раза, поменяв местами два считанных слова:

Python
1
2
3
4
text1 = input()
text2 = input()
dic_text_to_chiper = create_dict(text1, text2)
dic_chiper_to_text = create_dict(text2, text1)
#При выводе на экран получившихся словарей получается так:

Python
1
2
print (dic_text_to_chiper)
print (dic_chiper_to_text)
{'a': '*', 'b': 'd', 'c': '%', 'd': '#'}
{'*': '*', 'd': 'd', '%': '%', '#': '#'}

Мне не понятно, почему во втором случае в функцию прилетают 2 одинаковых слова. С чем это связано и как это исправить?

P.S не пишите, пожалуйста, что задачу можно решить проще. Я хочу именно понять в чем косяк в этом решении.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2021, 14:56
Ответы с готовыми решениями:

Webbrowser и dbmemo не могу понять в чем косяк
Всем привет, друзья. Проблема такая, есть браузер с вкладками (вкладки реализованы при помощи pagecontrol, на каждой вкладке стоит...

Поправьте, пожалуйста. Не могу понять в чем косяк?
Private Sub Form_Open(Cancel As Integer) Dim data As Date data = Me! If data - Now() = 5 And Month(data) = Month(Now()) Then MsgBox...

Не могу понять в чем косяк в написании натурального логарифма
Здравствуйте, перевожу формулу в 1с, он не рассчитывает ответ где я могла допустить ошибку? ...

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.03.2021, 15:19
Цитата Сообщение от SJulieM Посмотреть сообщение
в чем косяк
Цитата Сообщение от SJulieM Посмотреть сообщение
def create_dict(text, cipher):
Цитата Сообщение от SJulieM Посмотреть сообщение
dic[text[i]] = chiper[i]
1
0 / 0 / 0
Регистрация: 31.03.2021
Сообщений: 2
31.03.2021, 15:21  [ТС]
О, пасибо) буду внимательнее
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
01.04.2021, 06:07
Python
1
2
3
4
5
6
text1 = input()
text2 = input()
d1 = dict(zip(text1, text2))
d2 = dict(zip(text2, text1))
print(*[d1[c] for c in input()], sep='')
print(*[d2[c] for c in input()], sep='')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2021, 06:07
Помогаю со студенческими работами здесь

Не могу понять где косяк
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" int main () { system ("chcp 1251"); system ("cls"); int a, b,...

Простой пример, не могу понять
Тольк-только начал изучать Haskell, как вдруг встретилась такая строка: do grid <- fmap lines getContents Система считывает...

Не могу понять что не так в простой программе
#include <iostream> int main() { setlocale(LC_ALL, "ru"); float a; std::cout << "введите градусы Цельсия" <<...

Найти сумму квадратов четных чисел натурального ряда от 1 до N на С++. Не могу разобраться! Не могу понять в чём ошибка
Помогите пожалуйста) Вот мой код: #include <iostream> using namespace std; int main() { int N, sum =0, step; ...

Не могу запустить сервер через python manage.py runserver. Не могу понять в чем проблема. Кто может подсказать?
сделал миграцию но все равно не помогает. Не могу открыть сервер в браузере (venv) C:\Users\Admin\PycharmProjects\Pyshop>python...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru