Keksike

ИБ 2 лаба

Apr 26th, 2021 (edited)
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. def swap(list):  #функция reverse, но ручками(
  2.   return list[::-1]
  3.  
  4. def ListSwap(list):
  5.   res = []
  6.   for i in range(len(list)):
  7.     list[i] = swap(list[i])
  8.     res.append(list[i])
  9.   res = swap(res)
  10.   return res
  11.  
  12. alfa = ' АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.,-_!?0123456789@#$%^&*()'
  13.  
  14. res_shi = []
  15. res_des = []
  16.  
  17. print('Введите текст для шифрования: ')
  18. text = input()
  19. splitedText = text.split()
  20. print('\nВведите, какой сдвиг будет у алфавита для шифрования: ')
  21. m = int(input())
  22. n = 1  # Первоначальный сдвиг
  23.  
  24. for i in range(len(splitedText)):
  25.   res = []
  26.   for j in splitedText[i]:
  27.     res.append(alfa[(alfa.find(j)+n)%len(alfa)])
  28.     n += m
  29.   res_shi.append(''.join(res))
  30. print(' '.join(res_shi))
  31.  
  32. n -= m
  33. res_shi = ListSwap(res_shi)
  34.  
  35. for i in range(len(res_shi)):
  36.   res = []
  37.   for j in res_shi[i]:
  38.     res_shi[i]
  39.     res.append(alfa[(alfa.find(j)-n)%len(alfa)])
  40.     n -= m
  41.   res_des.append(''.join(res))
  42.  
  43. print(' '.join(ListSwap(res_des)))
Add Comment
Please, Sign In to add comment