Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2017 08:36:06

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

Добрый день,

Недавно начал изучать Python, дошел до метода maketrans
Нужно заменить буквы(по алфавиту) на 13символов назад.

 text = "uggcf://lbhgh.or/bUt5FWLEUN0" #текст который нужно расшифровать
tables = str.maketrans("abcdefghijklmnopqrstuvwxyz", "nopqrstuvwxyzabcdefghijklm",) 
result = text.translate(tables)
print(result)

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

Буду очень признателен если подскажите как можно решить данную проблемку.

Спасибо!!!

Офлайн

#2 Апрель 24, 2017 12:35:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9982
Репутация: +  857  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

  
>>> text = "uggcf://lbhgh.or/bUt5FWLEUN0"
>>> tables = str.maketrans("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
...                        "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM",) 
>>> result = text.translate(tables)
>>> print(result)
https://youtu.be/oHg5SJYRHA0
>>>



Офлайн

#3 Апрель 24, 2017 12:47:15

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

 text = "uggcf://lbhgh.or/bUt5FWLEUN0" #текст который нужно расшифровать
tables = str.maketrans("abcdefghijklmnopqrstuvwxyz", "nopqrstuvwxyzabcdefghijklm",) 
result = text.lower().translate(tables)
 https://youtu.be/ohg5sjyrha0

Отредактировано marvellik (Апрель 24, 2017 12:47:56)

Офлайн

#4 Апрель 25, 2017 06:24:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9982
Репутация: +  857  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

marvellik
https://youtu.be/ohg5sjyrha0
Поищи в инете, там есть это задание и ссылка указывает на определённую песню. А на YouTube ссылки используют как прописные, так и строчные буквы. И буквы разной величины указывают на разные видео.



Офлайн

#5 Апрель 25, 2017 09:36:12

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

py.user.next

Огромное спасибо!!!

Офлайн

#6 Апрель 25, 2017 17:25:55

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

maketrans метод. Нужна помощь.

Ладно вставлю свои 5 копеек

 shift=13 # 0...25
text="uggcf://lbhgh.or/bUt5FWLEUN0"
abc=''.join([chr(x) for x in range(97, 123)]+[chr(x) for x in range(65, 91)])
abc_shift=''.join(abc[shift:26]+abc[:shift]+abc[26+shift:]+abc[26:26+shift])
#python3
print(text.translate(str.maketrans(abc, abc_shift)))
#python
import string
print(text.translate(string.maketrans(abc, abc_shift)))
 

Отредактировано Vladimirv (Апрель 25, 2017 17:28:58)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version