eg0rmaffin

kolyaCryptoAlgo.py

Dec 8th, 2020
779
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.04 KB | None | 0 0
  1. #http://www.pythontutor.com/visualize.html#code=class%20MyMathClass%28int%29%3A%0A%20%20%20%20def%20__init__%28self,%20new%3D0%29%3A%0A%20%20%20%20%20%20%20%20self%20%3D%20new%0A%0A%20%20%20%20def%20isItEvenOr0%28self%29%3A%0A%20%20%20%20%20%20%20%20if%20self%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20True%0A%20%20%20%20%20%20%20%20if%20self%20%25%202%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20True%0A%20%20%20%20%20%20%20%20return%20False%0A%0A%0Aclass%20CryptoBase%28str%29%3A%0A%20%20%20%20def%20kolyaCryptMethod%28self%29%3A%0A%20%20%20%20%20%20%20%20buf%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20arr%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20for%20x%20in%20list%28self%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20arr.append%28x%29%0A%20%20%20%20%20%20%20%20for%20i%20in%20range%28len%28arr%29%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28MyMathClass%28i%29.isItEvenOr0%28%29%20%3D%3D%20False%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buf.append%28arr%5Bi%5D%29%0A%20%20%20%20%20%20%20%20for%20i%20in%20range%28len%28arr%29%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20MyMathClass%28i%29.isItEvenOr0%28%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buf.append%28arr%5Bi%5D%29%0A%20%20%20%20%20%20%20%20return%20''.join%28map%28str,%20buf%29%29%0A%0A%20%20%20%20def%20iterations%28self,%20i%3D0,%20bool%20%3D%20True%29%3A%0A%20%20%20%20%20%20%20%20if%20%28bool%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20ind%20%3D%201%0A%20%20%20%20%20%20%20%20%20%20%20%20self%20%3D%20CryptoBase%28self%29%0A%20%20%20%20%20%20%20%20%20%20%20%20while%20ind%20%3C%3D%20i%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%20%3D%20self.kolyaCryptMethod%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%20%3D%20CryptoBase%28self%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ind%20%2B%3D%201%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20self%0A%20%20%20%20%20%20%20%20if%20%28bool%20%3D%3D%20False%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20print%28'hui'%29%0A%20%20%20%20%20%20%20%20%20%20%20%20pass%0A%0A%20%20%20%20def%20kolyaUncryptMethod%28self%29%3A%0A%20%20%20%20%20%20%20%20buf%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20arr%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20for%20x%20in%20list%28self%29%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20arr.append%28x%29%0A%20%20%20%20%20%20%20%20print%28'blyat'%29%0A%0A%0As%20%3D%20CryptoBase%28'This%20is%20a%20test!'%29%0As%20%3D%20s.iterations%282%29%0Aprint%28s%29&cumulative=false&curInstr=0&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false
  2.  
  3. #u can run this code using link
  4.  
  5. class MyMathClass(int):
  6.     def __init__(self, new=0):
  7.         self = new
  8.  
  9.     def isItEvenOr0(self):
  10.         if self == 0:
  11.             return True
  12.         if self % 2 == 0:
  13.             return True
  14.         return False
  15.  
  16.  
  17. class CryptoBase(str):
  18.     def kolyaCryptMethod(self):
  19.         buf = []
  20.         arr = []
  21.         for x in list(self):
  22.             arr.append(x)
  23.         for i in range(len(arr)):
  24.             if (MyMathClass(i).isItEvenOr0() == False):
  25.                 buf.append(arr[i])
  26.         for i in range(len(arr)):
  27.             if MyMathClass(i).isItEvenOr0():
  28.                 buf.append(arr[i])
  29.         return ''.join(map(str, buf))
  30.  
  31.     def iterations(self, i=0, bool = True):
  32.         if (bool):
  33.             ind = 1
  34.             self = CryptoBase(self)
  35.             while ind <= i:
  36.                 self = self.kolyaCryptMethod()
  37.                 self = CryptoBase(self)
  38.                 ind += 1
  39.             return self
  40.         if (bool == False):
  41.             print('hui')
  42.             pass
  43.  
  44.     def kolyaUncryptMethod(self):
  45.         buf = []
  46.         arr = []
  47.         for x in list(self):
  48.             arr.append(x)
  49.         print('blyat')
  50.  
  51. #я тупо не учел что обратно возвращать так не получится, ведь алгоритм
  52. #криптования делит строку еще и на 2 части
  53.  
  54. s = CryptoBase('This is a test!')
  55. s = s.iterations(2)
  56. print(s)
Advertisement
Add Comment
Please, Sign In to add comment