Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 9, 2016 08:53:51

var_char
Зарегистрирован: 2016-06-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дешифровать слово

Доброго времени суток.

Я пытаюсь написать функцию которая должна дешифровать слова, которая зашифрованна в следующем формате:
перед каждой буквой идет цифра и несколько букв. Количество цифр соответсвует количеству букв в зашифрованном слове. Например, возьмем слово “welcome” которое зацифровано так: “0w5hie3ld6hc2o2im1e”.
Для того чтобы дешифровать ее мне необходимо:
- пропустить 0 и извлечь “w”
- пропустить 5(“h”и “i”) и извлечь “е”
- пропустить 3 и извлечь “l”
и т.д. пока не получится слово “welcome”

Буду благодарна если у кого то есть идеи как я могу решить данную задачу в Питоне.



Офлайн

#2 Июнь 9, 2016 12:33:06

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как дешифровать слово

У вас не правильное слово для проверки
“0w5hie3ld6hc2o2im1e”.
- пропустить 3 и извлечь “l” – как то не получается



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Июнь 9, 2016 14:52:07

var_char
Зарегистрирован: 2016-06-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дешифровать слово

ZerG
У вас не правильное слово для проверки“0w5hie3ld6hc2o2im1e”.- пропустить 3 и извлечь “l” – как то не получается


Спасибо за ваш ответ.
Вполне возможно т.к. я к примеру привела это слово чисто для того чтобы объяснить стратегию. Все слова в системе предполагается, что закодированы должным образом.

Не могли бы подсказать как мне “approach” эту задачку?

Офлайн

#4 Июнь 9, 2016 15:00:22

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как дешифровать слово

Напишите слово для расшифровки.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Июнь 9, 2016 15:06:12

var_char
Зарегистрирован: 2016-06-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дешифровать слово

ZerG
Напишите слово для расшифровки.

“0h2abe1zy”

Офлайн

#6 Июнь 9, 2016 15:52:34

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Как дешифровать слово

var_char
“0h2abe1zy”
Так пойдет?
>>> s = "0h2abe1zy"
>>> a = list(s)
>>> out = ''
>>> for i in range(1,len(a)):
...     if a[i].isdigit() == True:
...         out += a[i-1]
... 
>>> out += a[-1]
>>> print(out)
hey
>>>

Офлайн

#7 Июнь 9, 2016 16:02:18

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как дешифровать слово

Или так

word = "0h2abe1zy"
position = []
result = ''
for symvol in word:
    if symvol.isdigit():
        ss = int(word.index(symvol)) + int(symvol) + 1
        es = ss + 1
        result += ''.join(word[ss:es])
print result

hey

Однако что если в зашифрованном слове цыфра указатель указывает не на букву а на цифру?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#8 Июнь 9, 2016 18:07:39

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

Как дешифровать слово

http://python.su/forum/topic/8545/?page=1#post-56092
но там испольузется шифр цезаря.

Офлайн

#9 Июнь 9, 2016 20:10:10

var_char
Зарегистрирован: 2016-06-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дешифровать слово

old_monty
спасибо за помощь!!

Офлайн

#10 Июнь 9, 2016 20:31:07

var_char
Зарегистрирован: 2016-06-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дешифровать слово

ZerG
Или так

спасибо за помощь!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version