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

Функция jarriquez_encryption

09.02.2022, 06:00. Показов 1575. Ответов 4

Студворк — интернет-сервис помощи студентам
Реализуйте функцию jarriquez_encryption(text, key, alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ', reverse=False), возвращающую зашифрованный текст, по алгоритму описанному на предыдущем шаге.

text - исходный текст
key - ключ шифрования (число)
alphabet - алфавит (по умолчанию английский)
reverse - признак расшифровки, если находится в значении True, это значит, что функцию надо использовать для расшифровки текста, т.к. каждый сдвиг должен быть отрицательным. (по умолчанию False)

Из преобразуемого текста удаляются все пробелы и знаки препинания. Зашифрованный текст пишется в верхнем регистре 1 строкой.



Мой код:
Python
1
2
3
4
5
6
7
8
9
import re
def jarriquez_encryption(text, key, alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ', reverse=False):
    text = re.sub(r'[^\w\s]','', text.upper().replace(" ", ""))
    if reverse:
        key = -key
    shift = key % len(letters)
    letters_shift = alphabet[shift:] + alphabet[:shift]
    translation = text.maketrans(alphabet, letters_shift)
    return text.translate(translation)
В первом тесте почему-то вместо ЧУЦИЮЛКВУФКНЙУГУТССКЩДФИПЮРЯЛЦР выводит ЪШЪЛГПНЗЧЧПСМШЗЦЧХФПЭЗЩМТГФВРЪУ. Не понимаю в чем проблема
Тесты прикрепил. Помогите, пожалуйста!
Миниатюры
Функция jarriquez_encryption  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2022, 06:00
Ответы с готовыми решениями:

Функция поиска в массиве и указатели + функция сортировки и поиск найденного элемента
Написать функцию поиска максимального элемента, передать в неё указатель на начало и конец поиска и возвращать указатель на найденный...

Запрос для формирования сводной таблицы + функция SUM + функция IFNULL
Сформирован запрос, который включает в себя формирование сводной таблицы и функцию SUM. Не получается применить функцию IFNULL, возникают...

Функция проверки ввода как отдельная функция для других функций
Проверка на ввод - принимает значения вплоть до типа '2.3pi/1.05' или '5.6/pi'. Возможно, есть ошибки при вводе, пока не нашла. Как эту...

4
0 / 0 / 0
Регистрация: 30.04.2021
Сообщений: 15
09.02.2022, 06:07  [ТС]
Я разобрался, тему можно удалить
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
09.02.2022, 06:58
Лучший ответ Сообщение было отмечено sgedsc как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import re
def jarriquez_encryption(text, key, alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ', reverse=False):
    text = re.sub(r'[^\w\s]','', text.upper().replace(" ", ""))
   
    m = len(key)
    n = len(alphabet)
    sign = 1 - 2*int(reverse)
 
    res = ''
    for i, v in enumerate(text):
        res += alphabet[(alphabet.index(v) + sign*int(key[i%m])) % n]
    
    return res
 
 
s = 'У СУДЬИ ХАРРИКЕСА ПРОНИЦАТЕЛЬНЫЙ УМ'
k = str(423)
alph = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
crypt_text = jarriquez_encryption(s, k, alph)
print(crypt_text)
 
encrypt_text = jarriquez_encryption(crypt_text, k, alph, reverse=True)
print(encrypt_text)
0
2 / 3 / 0
Регистрация: 29.12.2021
Сообщений: 52
09.02.2022, 08:12
простите за глупый вопрос, а это какой вид шифрования?
0
0 / 0 / 0
Регистрация: 30.04.2021
Сообщений: 15
09.02.2022, 10:32  [ТС]
kuchak, Простите, вопрос не глупый, сам виноват, что не написал. Шифр Виженера

Добавлено через 7 минут
Gdez, Благодарю, код работает и понятный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2022, 10:32
Помогаю со студенческими работами здесь

Найти мощность пересечения множеств L, M. Где L-линейная функция, а M-монотонная функция
Найти мощность пересечения множеств L, M. Где L-линейная функция, а M-монотонная функция

Базовый интерфейс, функция вывода звука, функция для просчёта выражения
ОЧЕНЬ НУЖНА ПОМОЩЬ! Нужно реализовать программу, которая по нажатию клавиши, а после "enter" выполняла такие функции: ...

Задана показательная функция. Проверить, является ли функция возрастающей или убывающей
Задана показательная функция y=a^x. Проверить, является ли функция возрастающей ( при a>1)или убывающей (при 0 ≤ a ≤ 1)....

Почему данная функция не работает? .функция avg(money) не существует
Функция должна вывести услуги близкие к средней стоимости: Вот мой код /plpgsql CREATE FUNCTION average_prices_for_services () RETURNS...

Функция sqrt: существует более одного экземпляра. Функция перегруженная
#include <iostream> #include <math.h> #include <iomanip> using namespace std; int main(){ float s, p; int c, a; s=0; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru