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

Функции закодирования и декодирования

18.05.2022, 21:05. Показов 1389. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создайте две функции, которые принимают строку и массив и возвращают закодированное или декодированное сообщение.
Первая буква строки или первый элемент массива представляет собой символьный код этой буквы. Следующие элементы-это различия между символами:
например,
A +3 —> C или z -1 —> y.

Пример:

encrypt("Hello") ➞ [72, 29, 7, 0, 3]
// H = 72, the difference between the H and e is 29 (upper- and lowercase).
// The difference between the two l's is obviously 0.

decrypt([ 72, 33, -73, 84, -12, -3, 13, -13, -68 ]) ➞ "Hi there!"

encrypt("Sunshine") ➞ [83, 34, -7, 5, -11, 1, 5, -9]

Вообще ничего не понятно...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2022, 21:05
Ответы с готовыми решениями:

Функции кодирования и декодирования текста циклическим сдвигом букв алфавита
Не понимаю как написать. Задача: Реализовать функции кодирования и декодирования текста циклическим сдвигом букв алфавита. Величина...

Стандартные функции для декодирования сообщений
Есть ли в php стандартные функции для декодирования сообщений вот такого типа: =?koi8-r?B?1MXT1M/Xz8Ug08/Pwt3FzsnF?= ??

алгоритм декодирования
Я пишу приложение которое чертит маршрут на Google Maps android используя Directions API. В JSON под тегом points приходит строка типа...

9
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
18.05.2022, 21:52
Лучший ответ Сообщение было отмечено Andre1ka000 как решение

Решение

Andre1ka000,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def encrypt(s):
    res = [ord(s[0])]
    for i in range(1, len(s)):
        res.append(ord(s[i]) - ord(s[i-1]))
    print(res)
 
 
def decrypt(a):
    res = chr(a[0])
    for i in range(1, len(a)):
        a[i] += a[i-1]
        res += chr(a[i])
    print(res)
 
 
encrypt("Hello") #➞ [72, 29, 7, 0, 3]
decrypt([ 72, 33, -73, 84, -12, -3, 13, -13, -68 ]) #➞ "Hi there!"
encrypt("Sunshine") #➞ [83, 34, -7, 5, -11, 1, 5, -9]
1
0 / 0 / 0
Регистрация: 24.04.2022
Сообщений: 23
19.05.2022, 12:08  [ТС]


выдает ошибку
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38190 / 21125 / 4307
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
19.05.2022, 13:27
Andre1ka000, даже скопировать готовое решение не можешь... Все работает.
1
0 / 0 / 0
Регистрация: 24.04.2022
Сообщений: 23
19.05.2022, 16:39  [ТС]
с этим проблем нет, не переводит строку в число, то ли на тип у метода chr ругается, толи чего
0
0 / 0 / 0
Регистрация: 24.04.2022
Сообщений: 23
19.05.2022, 16:51  [ТС]
Gdez,
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
19.05.2022, 16:56
Andre1ka000, переведи в int. Хотя по условию (в примерах) "подается" в int ("без кавычек")
Python
1
a = [int(i) for i in a]
P.s. Перед res = chr(a[0])
1
0 / 0 / 0
Регистрация: 24.04.2022
Сообщений: 23
19.05.2022, 17:11  [ТС]
Gdez,
def encrypt(s):
res = [ord(s[0])]
for i in range(1, len(s)):
res.append(ord(s[i]) - ord(s[i-1]))
print(res)


def decrypt(a):
a = [int(i) for i in a]
res = chr(a[0])
for i in range(1, len(a)):
a[i] += a[i-1]
res += chr(a[i])
print(res)
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
19.05.2022, 18:05
Andre1ka000, decrypt для списка чисел
encrypt для слов (букв)
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
02.06.2022, 00:20
Python
1
2
3
4
5
6
7
8
9
10
11
from itertools import accumulate
#==============================================================================
def encrypt(s):
    return [ ord(s[0]) ] + [ ord(s[i+1])-ord(s[i]) for i in range(len(s)-1) ]
#==============================================================================
def decrypt(lis):
    return ''.join( list( accumulate(lis, lambda L,R: chr( ord(L)+R ), initial=chr( lis.pop(0) ) ) ) )
#==============================================================================
lis = encrypt('Hello')
print(lis)
print( decrypt(lis) )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2022, 00:20
Помогаю со студенческими работами здесь

Функция декодирования
Добрый день! Подскажите пожалуйста! Работаю в среде Eclipse на java.Задание-Написать функцию декодирования.Нуль обозначается как единица а...

Программа декодирования
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <ctype.h> #include <string.h> using namespace std; int...

Программа кодирования и декодирования
Написать программу кодирования и декодирования последовательности символов длины N. Алгоритм кодирования заключается в следующем. Строится...

Использование Base64-декодирования
Мне необходимо перейти от использования метода android.util.Base64.decode() к использованию аналогичного метода...

аппаратная реализация декодирования цк 15 11
Необходимо учесть в программе, что нумерация разрядов в ЦК – справа налево Т.е. если вводится номер искаженного разряда 14, то должен...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru