Найти - Пользователи
Полная версия: Как дешифровать слово
Начало » Python для новичков » Как дешифровать слово
1
var_char
Доброго времени суток.

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

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



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


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

Не могли бы подсказать как мне “approach” эту задачку?
ZerG
Напишите слово для расшифровки.
var_char
ZerG
Напишите слово для расшифровки.

“0h2abe1zy”
old_monty
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
>>>
ZerG
Или так

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

Однако что если в зашифрованном слове цыфра указатель указывает не на букву а на цифру?
papuas
http://python.su/forum/topic/8545/?page=1#post-56092
но там испольузется шифр цезаря.
var_char
old_monty
спасибо за помощь!!
var_char
ZerG
Или так

спасибо за помощь!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB