Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 18, 2022 13:13:12

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

Алгоритм подстановки степени n

помогите с алгоритмом, к примеру вводишь слово “Привет” и вводишь ключ размером равным длине вводимого слова, и по нажатию кнопки положение букв в слове поменяется в соответствии с положением цифр в ключе.
к примеру ввели:
Слово: Привет
Ключ: 642513
в итоге: тврепи
и так же наоборот

Офлайн

#2 Сен. 19, 2022 17:41:01

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

Алгоритм подстановки степени n

 word = "Привет"
shifr = "642513"
def mask_data(in_word, in_key):
    result = ""
    wordlist = [x.lower() for x in in_word]
    if len(in_word) == len(in_key):
        for y in in_key:
            try:
                key = int(y)
                if (key - 1) >= len(in_word) or (key - 1) < 0:
                    print(f"The key {key} is wrong")
                else:
                    result += wordlist[key - 1]
            except expression as identifier:
                print("Shifr has error chars")
    else:
        print("The key and word length isnt matched")
    print(f"Rsult: {result}")
mask_data(word, shifr)



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

Отредактировано ZerG (Сен. 19, 2022 17:41:43)

Офлайн

#3 Сен. 19, 2022 21:19:04

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

Алгоритм подстановки степени n

  
>>> def encrypt_text(text, key):
...     if len(text) != len(key):
...         raise ValueError('incorrect length of key')
...     out = ''.join(text[i-1] for i in map(int, key))
...     return out
... 
>>> encrypt_text('Привет', '642513')
'твреПи'
>>> 
>>> encrypt_text('Привет', '64251')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in encrypt_text
ValueError: incorrect length of key
>>>



Отредактировано py.user.next (Сен. 19, 2022 21:20:02)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version