Найти - Пользователи
Полная версия: Алгоритм подстановки степени n
Начало » Python для новичков » Алгоритм подстановки степени n
1
Dispa
помогите с алгоритмом, к примеру вводишь слово “Привет” и вводишь ключ размером равным длине вводимого слова, и по нажатию кнопки положение букв в слове поменяется в соответствии с положением цифр в ключе.
к примеру ввели:
Слово: Привет
Ключ: 642513
в итоге: тврепи
и так же наоборот
ZerG
 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)
py.user.next
  
>>> 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
>>>
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