• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

powerman50061 Jan 22nd, 2020 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. from math import ceil
2. from random import *
3. alfcode='абвгдеёжзийклмнопрстуфхцчшщъыьэюя!.,'
4. alf='абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
5. s=[['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'],['б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а'],['в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б'],['г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в'],['д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г'],['е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д'],['ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е'],['ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё'],['з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж'],['и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з'],['й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и'],['к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й'],['л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к'],['м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л'],['н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м'],['о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н'],['п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о'],['р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п'],['с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р'],['т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с'],['у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т'],['ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у'],['х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф'],['ц','ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х'],['ч','ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц'],['ш','щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч'],['щ','ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш'],['ъ','ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ'],['ы','ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ'],['ь','э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы'],['э','ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь'],['ю','я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э'],['я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю']]
6. SS=['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я']
7. result=''
8. def w1w1w1():
9.     text=input('Введите текст(на русском) ').lower()
10.     key=int(input('Введите число(до 33) '))
11.     result=''
12.     for i in text:
13.         p=alf.find(i)
14.         k=p+key
15.         while True:
16.             if k>32:
17.                 k=k-33
18.                 continue
19.             else:
20.                 break
21.         while True:
22.             if k<0:
23.                 k=k+33
24.                 continue
25.             else:
26.                 break
27.         if i in alf:
28.             result+=alf[k-1]
29.         else:
30.             result+=i
31.     print(result)
32.     return result
33. def w1w1w2():
34.     text=input('Введите текст(на русском) ').lower()
35.     key=int(input('Введите число(до 33) '))
36.     result=''
37.     for i in text:
38.         p=alf.find(i)
39.         k=p-key
40.         while True:
41.             if k>32:
42.                 k=k-33
43.                 continue
44.             else:
45.                 break
46.         while True:
47.             if k<0:
48.                 k=k+33
49.                 continue
50.             else:
51.                 break
52.         if i in alf:
53.             result+=alf[k+1]
54.         else:
55.             result+=i
56.     print(result)
57.     return result
58. def w1w2w1():
59.     fla='яюэьыъщшчцхфутсрпонмлкйизжёедгвба'
60.     text=input('Введите текст(на русском) ').lower()
61.     result=''
62.     for i in text:
63.         if i in alf:
64.             result+=fla[alf.index(i)]
65.         else:
66.             result+=i
67.     print(result)
68.     return result
69. def w1w2w2():
70.     fla='яюэьыъщшчцхфутсрпонмлкйизжёедгвба'
71.     text=input('Введите текст(на русском) ').lower()
72.     result=''
73.     for i in text:
74.         if i in alf:
75.             result+=alf[fla.index(i)]
76.         else:
77.             result+=i
78.     print(result)
79.     return result
80. def w1w3w1():
81.     fla='члмцъёшщабыькуфхнетгдзийэюявжопрс'
82.     text=input('Введите текст(на русском) ').lower()
83.     result=''
84.     for i in text:
85.         if i in alf:
86.             result+=fla[alf.index(i)]
87.         else:
88.             result+=i
89.     print(result)
90.     return result
91. def w1w3w2():
92.     fla='члмцъёшщабыькуфхнетгдзийэюявжопрс'
93.     text=input('Введите текст(на русском) ').lower()
94.     result=''
95.     for i in text:
96.         if i in alf:
97.             result+=alf[fla.index(i)]
98.         else:
99.             result+=i
100.     print(result)
101.     return result
102. def w1w4w1():
103.     a=''
104.     text=input('Введите текст(русский): ').lower()
105.     key=input('Введите кодовое слово: ').lower()
106.     normkey=''
107.     result=''
108.     for i in range(0,len(key)):
109.         if key[i] not in normkey:
110.             if key[i] in alf:
111.                 normkey+=key[i]
112.     for i in range(0,len(normkey)):
113.         a+=normkey[i]
114.     for i in range(0,len(alf)):
115.         if alf[i] not in a:
116.             a+=alf[i]
117.     for i in text:
118.         if i in alf:
119.             result+=alf[a.index(i)]
120.         else:
121.             result+=i
122.     print(result)
123.     return result
124. def w1w4w2():
125.     a=''
126.     text=input('Введите текст(русский): ').lower()
127.     key=input('Введите кодовое слово: ').lower()
128.     normkey=''
129.     result=''
130.     for i in range(0,len(key)):
131.         if key[i] not in normkey:
132.             if key[i] in alf:
133.                 normkey+=key[i]
134.     for i in range(0,len(normkey)):
135.         a+=normkey[i]
136.     for i in range(0,len(alf)):
137.         if alf[i] not in a:
138.             a+=alf[i]
139.     for i in text:
140.         if i in alf:
141.             result+=a[alf.index(i)]
142.         else:
143.             result+=i
144.     print(result)
145.     return result
146. def w1w5w1w1():
147.     q='AB'
148.     text=input('Введите текст(русский): ').lower()
149.     a=[]
150.     result=''
151.     for i in list(q):
152.         for ii in list(q):
153.             for iii in list(q):
154.                 for iiii in list(q):
155.                     for iiiii in list(q):
156.                         for iiiiii in list(q):
157.                             z=i+ii+iii+iiii+iiiii+iiiiii
158.                             a.append(z)
159.     for i in text:
160.         if i in alfcode:
161.             result+=a[alfcode.index(i)]
162.     print(result)
163.     return result
164. def w1w5w1w2():
165.     q='AB'
166.     text=input('Введите текст(русский): ')
167.     a=[]
168.     result=''
169.     ww=0
170.     www=6
171.     for i in range(0,int(len(text)/6)):
172.         a.append(text[ww:www])
173.         ww+=6
174.         www+=6
175.     for j in range(0,len(a)):
176.         f=-1
177.         for i in list(q):
178.             for ii in list(q):
179.                 for iii in list(q):
180.                     for iiii in list(q):
181.                         for iiiii in list(q):
182.                             for iiiiii in list(q):
183.                                 z=i+ii+iii+iiii+iiiii+iiiiii
184.                                 f+=1
185.                                 if a[j]==z:
186.                                     result+=alfcode[f]
187.                                     a[j]=0
188.     print(result)
189.     return result
190. def w1w5w2w1():
191.     q='AB'
192.     text=input('Введите текст(русский): ').lower()
193.     a=[]
194.     result=''
195.     for i in list(q):
196.         for ii in list(q):
197.             for iii in list(q):
198.                 for iiii in list(q):
199.                     for iiiii in list(q):
200.                         for iiiiii in list(q):
201.                             z=i+ii+iii+iiii+iiiii+iiiiii
202.                             a.append(z)
203.     for i in list(text):
204.         if i in alfcode:
205.             qq=[alfcode[randint(0,32)],alfcode[randint(0,32)],alfcode[randint(0,32)],alfcode[randint(0,32)],alfcode[randint(0,32)],alfcode[randint(0,32)]]
206.             qqq=''
207.             for jj in range(6):
208.                 if a[alfcode.index(i)][jj] == q[1]:
209.                     qqq+=qq[jj].upper()
210.                 else:
211.                     qqq+=qq[jj]
212.             result+=qqq
213.     print(result)
214.     return result
215. def w1w5w2w2():
216.     q='AB'
217.     text=input('Введите текст(русский): ')
218.     a=[]
219.     result=''
220.     ww=0
221.     www=6
222.     zz=[]
223.     for i in range(0,int(len(text)/6)):
224.         z=''
225.         a.append(text[ww:www])
226.         ww+=6
227.         www+=6
228.         for ii in range(0,6):
229.             if a[i][ii] in alf:
230.                 z+='A'
231.             else:
232.                 z+='B'
233.         zz.append(z)
234.     for j in range(0,len(zz)):
235.         f=-1
236.         for i in list(q):
237.             for ii in list(q):
238.                 for iii in list(q):
239.                     for iiii in list(q):
240.                         for iiiii in list(q):
241.                             for iiiiii in list(q):
242.                                 z=i+ii+iii+iiii+iiiii+iiiiii
243.                                 f+=1
244.                                 if zz[j]==z:
245.                                     result+=alfcode[f]
246.                                     zz[j]=0
247.     print(result)
248.     return result
249. def w1w5w3w1():
250.     q='AB'
251.     S1=['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р']
252.     S2=['с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','!','.',',']
253.     text=input('Введите текст(русский): ').lower()
254.     result=''
255.     a=[]
256.     for i in list(q):
257.         for ii in list(q):
258.             for iii in list(q):
259.                 for iiii in list(q):
260.                     for iiiii in list(q):
261.                         for iiiiii in list(q):
262.                             z=i+ii+iii+iiii+iiiii+iiiiii
263.                             a.append(z)
264.     for j in list(text):
265.         if j in alfcode:
266.             qqq=''
267.             for jj in range(6):
268.                 if a[alfcode.index(j)][jj] == q[0]:
269.                     qqq+=S1[randint(0,16)]
270.                 else:
271.                     qqq+=S2[randint(0,15)]
272.             result+=qqq
273.     print(result)
274.     return result
275. def w1w5w3w2():
276.     q='AB'
277.     S1=['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р']
278.     S2=['с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','!','.',',']
279.     text=input('Введите текст(русский): ').lower()
280.     result=''
281.     a=[]
282.     ww=0
283.     www=6
284.     zz=[]
285.     for i in range(0,int(len(text)/6)):
286.         z=''
287.         a.append(text[ww:www])
288.         ww+=6
289.         www+=6
290.         for ii in range(0,6):
291.             if a[i][ii] in S1:
292.                 z+='A'
293.             else:
294.                 z+='B'
295.         zz.append(z)
296.     for j in range(0,len(zz)):
297.         f=-1
298.         for i in list(q):
299.             for ii in list(q):
300.                 for iii in list(q):
301.                     for iiii in list(q):
302.                         for iiiii in list(q):
303.                             for iiiiii in list(q):
304.                                 z=i+ii+iii+iiii+iiiii+iiiiii
305.                                 f+=1
306.                                 if zz[j]==z:
307.                                     result+=alfcode[f]
308.                                     zz[j]=0
309.     print(result)
310.     return result
311. def w1w5w4w1():
312.     q='AB'
313.     S1=['а','е','ё','и','о','у','ы','э','ю','я','!','.',',']
314.     S2=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ','ъ','ь',]
315.     text=input('Введите текст(русский): ').lower()
316.     result=''
317.     a=[]
318.     for i in list(q):
319.         for ii in list(q):
320.             for iii in list(q):
321.                 for iiii in list(q):
322.                     for iiiii in list(q):
323.                         for iiiiii in list(q):
324.                             z=i+ii+iii+iiii+iiiii+iiiiii
325.                             a.append(z)
326.     for j in list(text):
327.         if j in alfcode:
328.             qqq=''
329.             for jj in range(6):
330.                 if a[alfcode.index(j)][jj] == q[0]:
331.                     qqq+=S1[randint(0,12)]
332.                 else:
333.                     qqq+=S2[randint(0,20)]
334.             result+=qqq
335.     print(result)
336.     return result
337. def w1w5w4w2():
338.     q='AB'
339.     S1=['а','е','ё','и','о','у','ы','э','ю','я','!','.',',']
340.     S2=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ','ъ','ь',]
341.     text=input('Введите текст(русский): ').lower()
342.     result=''
343.     a=[]
344.     ww=0
345.     www=6
346.     zz=[]
347.     for i in range(0,int(len(text)/6)):
348.         z=''
349.         a.append(text[ww:www])
350.         ww+=6
351.         www+=6
352.         for ii in range(0,6):
353.             if a[i][ii] in S1:
354.                 z+='A'
355.             else:
356.                 z+='B'
357.         zz.append(z)
358.     for j in range(0,len(zz)):
359.         f=-1
360.         for i in list(q):
361.             for ii in list(q):
362.                 for iii in list(q):
363.                     for iiii in list(q):
364.                         for iiiii in list(q):
365.                             for iiiiii in list(q):
366.                                 z=i+ii+iii+iiii+iiiii+iiiiii
367.                                 f+=1
368.                                 if zz[j]==z:
369.                                     result+=alfcode[f]
370.                                     zz[j]=0
371.     print(result)
372.     return result
373. def w1w5w5w1():
374.     q='AB'
375.     S1=['б','г','е','ж','и','к','м','о','р','т','ф','ц','ш','ъ','ь','ю','!',',']
376.     S2=['а','в','д','ё','з','й','л','н','п','с','у','х','ч','щ','ы','э','я','.']
377.     text=input('Введите текст(русский): ').lower()
378.     result=''
379.     a=[]
380.     for i in list(q):
381.         for ii in list(q):
382.             for iii in list(q):
383.                 for iiii in list(q):
384.                     for iiiii in list(q):
385.                         for iiiiii in list(q):
386.                             z=i+ii+iii+iiii+iiiii+iiiiii
387.                             a.append(z)
388.     for j in list(text):
389.         if j in alfcode:
390.             qqq=''
391.             for jj in range(6):
392.                 if a[alfcode.index(j)][jj] == q[0]:
393.                     qqq+=S1[randint(0,17)]
394.                 else:
395.                     qqq+=S2[randint(0,17)]
396.             result+=qqq
397.     print(result)
398.     return result
399. def w1w5w5w2():
400.     q='AB'
401.     S1=['б','г','е','ж','и','к','м','о','р','т','ф','ц','ш','ъ','ь','ю','!',',']
402.     S2=['а','в','д','ё','з','й','л','н','п','с','у','х','ч','щ','ы','э','я','.']
403.     text=input('Введите текст(русский): ').lower()
404.     result=''
405.     a=[]
406.     ww=0
407.     www=6
408.     zz=[]
409.     for i in range(0,int(len(text)/6)):
410.         z=''
411.         a.append(text[ww:www])
412.         ww+=6
413.         www+=6
414.         for ii in range(0,6):
415.             if a[i][ii] in S1:
416.                 z+='A'
417.             else:
418.                 z+='B'
419.         zz.append(z)
420.     for j in range(0,len(zz)):
421.         f=-1
422.         for i in list(q):
423.             for ii in list(q):
424.                 for iii in list(q):
425.                     for iiii in list(q):
426.                         for iiiii in list(q):
427.                             for iiiiii in list(q):
428.                                 z=i+ii+iii+iiii+iiiii+iiiiii
429.                                 f+=1
430.                                 if zz[j]==z:
431.                                     result+=alfcode[f]
432.                                     zz[j]=0
433.     print(result)
434.     return result
435. def w1w6w1():
436.     text=input('Введите текст(на русском): ').lower()
437.     normtext=''
438.     result=''
439.     for i in text:
440.         if i in SS:
441.             normtext+=i
442.     key=input('Введите ключ ').lower()
443.     normkey=''
444.     for i in key:
445.         if i in SS:
446.             normkey+=i
447.     while True:
448.         if len(normtext)!=len(normkey):
449.             if len(normtext)> len(normkey):
450.                 normkey+=normkey
451.                 continue
452.             elif len(normtext)<len(normkey):
453.                 normkey=normkey[0:-1]
454.                 continue
455.         else:
456.             break
457.     print('Результат: ',end='')
458.     for i in range(0,len(normtext)):
459.         xx=normtext[i]
460.         yy=normkey[i]
461.         if xx and yy in SS:
462.             result+=s[SS.index(xx)][SS.index(yy)]
463.     print(result)
464.     return result
465. def w1w6w2():
466.     text=input('Введите текст(на русском): ').lower()
467.     normtext=''
468.     result=''
469.     for i in text:
470.         if i in SS:
471.             normtext+=i
472.     key=input('Введите ключ ').lower()
473.     normkey=''
474.     for i in key:
475.         if i in SS:
476.             normkey+=i
477.     while True:
478.         if len(normtext)!=len(normkey):
479.             if len(normtext)> len(normkey):
480.                 normkey+=normkey
481.                 continue
482.             elif len(normtext)<len(normkey):
483.                 normkey=normkey[0:-1]
484.                 continue
485.         else:
486.             break
487.     w1w6w21(normkey,normtext,result)
488. def w1w6w21(normtext,normkey,result):
489.     print('Результат: ',end='')
490.     for i in range(0,len(normtext)):
491.         xx=normtext[i]
492.         yy=normkey[i]
493.         for i in range(0,len(s)):
494.             if s[i][SS.index(xx)]==yy:
495.                 result+=SS[i]
496.     print(result)
497.     return result
498. def newkey():
499.     '''создает 2 одинаковых блокнота'''
500.     f1 = open('1.txt','w')
501.     for i in range(999):
502.         f1.write(choice(alf))
503.     f1.close()
504.     f1 = open('1.txt','r')
505.     f2 = open('2.txt','w')
506.     for i in range(999):
508.         f2.write(s)
509.     f1.close()
510.     f2.close()
511. def w1w7w1():
512.     while True:
513.         key=int(input('''===========================|
514. Создать новые блокноты?    |
515. 1-да                       |
516. 2-нет                      |
517. ---------------------------| '''))
518.         if key==1:
519.             newkey()
520.             break
521.         elif key==2:
522.             break
523.         else:
524.             print('Вы ввели неверный пункт меню!')
525.             continue
526.     text=input('Введите текст(на русском) ').lower()
527.     result=''
528.     a=[]
529.     b=[]
530.     aa=[]
531.     f1 = open('1.txt','r')
532.     for i in text:
533.         if i in alf:
535.             p=alf.find(i)
536.             a.append(z)
537.             b.append(p)
539.     f1.close()
540.     f1 = open('1.txt','w')
541.     f1.write(g)
542.     f1.close()
543.     for i in range(len(a)):
544.         a1=a[i]+b[i]
545.         aa.append(a1)
546.     for i in range(len(aa)):
547.         while True:
548.             if aa[i]>32:
549.                 aa[i]=aa[i]-33
550.                 continue
551.             else:
552.                 break
553.         while True:
554.             if aa[i]<0:
555.                 aa[i]=aa[i]+33
556.                 continue
557.             else:
558.                 break
559.     for i in range(len(aa)):
560.         z=alf[aa[i]]
561.         result+=z
562.     print(result)
563.     return result
564. def w1w7w2():
565.     text=input('Введите текст(на русском) ').lower()
566.     result=''
567.     a=[]
568.     b=[]
569.     aa=[]
570.     f2 = open('2.txt','r')
571.     for i in text:
572.         if i in alf:
574.             p=alf.find(i)
575.             a.append(z)
576.             b.append(p)
578.     f2.close()
579.     f2 = open('2.txt','w')
580.     f2.write(g)
581.     f2.close()
582.     for i in range(len(a)):
583.         a1=a[i]-b[i]
584.         if a1<0:
585.             a1=a1*(-1)
586.         elif a1==0:
587.             a1=0
588.         else:
589.             a1=33-a[i]+b[i]
590.         aa.append(a1)
591.     for i in range(len(aa)):
592.         while True:
593.             if aa[i]>32:
594.                 aa[i]=aa[i]-32
595.                 continue
596.             else:
597.                 break
598.         while True:
599.             if aa[i]<0:
600.                 aa[i]=aa[i]+32
601.                 continue
602.             else:
603.                 break
604.     for i in range(len(aa)):
605.         z=alf[aa[i]]
606.         result+=z
607.     print(result)
608.     return result
609. def w2w1w1():
610.     text=input('Введите текст(на русском): ')
611.     lowtext=text.lower()
612.     text=[]
613.     for j in list(lowtext):
614.         if j in alfcode:
615.             text+=j
616.     while True:
617.         if len(text)%4!=0:
618.             text+='.'
619.             continue
620.         else:
621.             break
622.     result=''
623.     for j in range(0,int(len(text)/4)):
624.         for i in range(j,len(text),int(len(text)/4)):
625.             result+=text[i]
626.     print(result)
627.     return result
628. def w2w1w2():
629.     text=input('Введите текст(на русском): ')
630.     lowtext=text.lower()
631.     text=[]
632.     for j in list(lowtext):
633.         if j in alfcode:
634.             text+=j
635.     while True:
636.         if len(text)%4!=0:
637.             text+='.'
638.             continue
639.         else:
640.             break
641.     result=''
642.     for j in range(0,4):
643.         for i in range(j,len(text),4):
644.             result+=text[i]
645.     print(result)
646.     return result
647. def w2w2w1():
648.     text=input('Введите текст(на русском): ')
649.     key=int(input('Введите ключ: '))
650.     lowtext=text.lower()
651.     text=[]
652.     for j in list(lowtext):
653.         if j in alfcode:
654.             text+=j
655.     while True:
656.         if len(text)%key!=0:
657.             text+='.'
658.             continue
659.         else:
660.             break
661.     result=''
662.     for j in range(0,int(len(text)/key)):
663.         for i in range(j,len(text),int(len(text)/key)):
664.             result+=text[i]
665.     print(result)
666.     return result
667. def w2w2w2():
668.     text=input('Введите текст(на русском): ')
669.     key=int(input('Введите ключ: '))
670.     lowtext=text.lower()
671.     text=[]
672.     for j in list(lowtext):
673.         if j in alfcode:
674.             text+=j
675.     while True:
676.         if len(text)%key!=0:
677.             text+='.'
678.             continue
679.         else:
680.             break
681.     result=''
682.     for j in range(0,key):
683.         for i in range(j,len(text),key):
684.             result+=text[i]
685.     print(result)
686.     return result
687. def w2w3w1():
688.     text=input('Введите текст(на русском): ')
689.     key=input('Введите ключ: ')
690.     lowtext=text.lower()
691.     normkey=''
692.     for i in key:
693.         if i not in normkey:
694.             normkey+=i
695.     normtext=[]
696.     for j in list(lowtext):
697.         if j in alfcode:
698.             normtext+=j
699.     while True:
700.         if len(normtext)%len(normkey)!=0:
701.             normtext+='.'
702.             continue
703.         else:
704.             break
705.     rualf='0123456789'
706.     intkey_1=[]
707.     for i in list(normkey):
708.         intkey_1.append(rualf.index(i)+1)
709.     f=max(intkey_1)+1
710.     intkey=intkey_1.copy()
711.     for i in range(0,len(intkey_1)):
712.         intkey[intkey_1.index(min(intkey_1))]=i
713.         intkey_1[intkey_1.index(min(intkey_1))]=f
714.     h=[]
715.     for j in range(0,len(normkey)):
716.         stroka=''
717.         for i in range(j,len(normtext),len(normkey)):
718.             stroka+=normtext[i]
719.         h.append(stroka)
720.     result=''
721.     for i in range(0,len(intkey)):
722.         result+=(h[intkey.index(i)])
723.     print(result)
724.     return result
725. def w2w3w2():
726.     text=input('Введите текст(на русском): ')
727.     key=input('Введите ключ: ')
728.     lowtext=text.lower()
729.     normkey=''
730.     for i in key:
731.         if i not in normkey:
732.             normkey+=i
733.     normtext=[]
734.     for j in list(lowtext):
735.         if j in alfcode:
736.             normtext+=j
737.     while True:
738.         if len(normtext)%len(normkey)!=0:
739.             normtext+='.'
740.             continue
741.         else:
742.             break
743.     rualf='0123456789'
744.     intkey_1=[]
745.     for i in list(normkey):
746.         intkey_1.append(rualf.index(i)+1)
747.     f=max(intkey_1)+1
748.     intkey=intkey_1.copy()
749.     for i in range(0,len(intkey_1)):
750.         intkey[intkey_1.index(min(intkey_1))]=i
751.         intkey_1[intkey_1.index(min(intkey_1))]=f
752.     a=[]
753.     pp=[]
754.     f=[]
755.     ff = ceil(len(normtext)/len(normkey))
756.     for i in range(len(normkey)):
757.         a.append(normtext[ff*i:ff*(i+1)])
758.     d=dict.fromkeys(intkey)
759.     for i in range(0,len(a)):
760.         d[i]=a[i]
761.     for x,y in d.items():
762.         pp.append(y)
763.     result_1=''
764.     for i in range(len(pp)):
765.         for j in range(len(pp[0])):
766.             result_1+=pp[i][j]
767.     for i in range(0,len(pp[0])):
768.         stroka=''
769.         for j in range(i,len(result_1),len(pp[0])):
770.             stroka+=result_1[j]
771.         f.append(stroka)
772.     result=''
773.     for i in range(len(f)):
774.         for j in range(len(f[0])):
775.             result+=f[i][j]
776.     print(result)
777.     return result
778. def w2w4w1():
779.     text=input('Введите текст(на русском): ')
780.     key=input('Введите ключ: ')
781.     lowtext=text.lower()
782.     lowkey=key.lower()
783.     key_1=''
784.     for i in lowkey:
785.         if i not in key_1:
786.             key_1+=i
787.     normtext=[]
788.     normkey=[]
789.     for j in list(lowtext):
790.         if j in alfcode:
791.             normtext+=j
792.     for i in list(key_1):
793.         if i in alfcode:
794.             normkey+=i
795.     while True:
796.         if len(normtext)%len(normkey)!=0:
797.             normtext+='.'
798.             continue
799.         else:
800.             break
801.     rualf='абвгдеёжзийклмнопрстуфхцчшщъыьэюя.'
802.     intkey_1=[]
803.     for i in list(normkey):
804.         intkey_1.append(rualf.index(i)+1)
805.     f=max(intkey_1)+1
806.     intkey=intkey_1.copy()
807.     for i in range(0,len(intkey_1)):
808.         intkey[intkey_1.index(min(intkey_1))]=i
809.         intkey_1[intkey_1.index(min(intkey_1))]=f
810.     h=[]
811.     for j in range(0,len(normkey)):
812.         stroka=''
813.         for i in range(j,len(normtext),len(normkey)):
814.             stroka+=normtext[i]
815.         h.append(stroka)
816.     result=''
817.     for i in range(0,len(intkey)):
818.         result+=(h[intkey.index(i)])
819.     print(result)
820.     return result
821. def w2w4w2():
822.     text=input('Введите текст(на русском): ')
823.     key=input('Введите ключ: ')
824.     lowtext=text.lower()
825.     lowkey=key.lower()
826.     key_1=''
827.     for i in lowkey:
828.         if i not in key_1:
829.             key_1+=i
830.     normtext=[]
831.     normkey=[]
832.     for j in list(lowtext):
833.         if j in alfcode:
834.             normtext+=j
835.     for i in list(key_1):
836.         if i in alfcode:
837.             normkey+=i
838.     while True:
839.         if len(normtext)%len(normkey)!=0:
840.             normtext+='.'
841.             continue
842.         else:
843.             break
844.     rualf='абвгдеёжзийклмнопрстуфхцчшщъыьэюя.'
845.     intkey_1=[]
846.     for i in list(normkey):
847.         intkey_1.append(rualf.index(i)+1)
848.     f=max(intkey_1)+1
849.     intkey=intkey_1.copy()
850.     for i in range(0,len(intkey_1)):
851.         intkey[intkey_1.index(min(intkey_1))]=i
852.         intkey_1[intkey_1.index(min(intkey_1))]=f
853.     a=[]
854.     pp=[]
855.     f=[]
856.     ff = ceil(len(normtext)/len(normkey))
857.     for i in range(len(normkey)):
858.         a.append(normtext[ff*i:ff*(i+1)])
859.     d=dict.fromkeys(intkey)
860.     for i in range(0,len(a)):
861.         d[i]=a[i]
862.     for x,y in d.items():
863.         pp.append(y)
864.     result_1=''
865.     for i in range(len(pp)):
866.         for j in range(len(pp[0])):
867.             result_1+=pp[i][j]
868.     for i in range(0,len(pp[0])):
869.         stroka=''
870.         for j in range(i,len(result_1),len(pp[0])):
871.             stroka+=result_1[j]
872.         f.append(stroka)
873.     result=''
874.     for i in range(len(f)):
875.         for j in range(len(f[0])):
876.             result+=f[i][j]
877.     print(result)
878.     return result
879. def w3w1w1w2():
880.     def norm():
883.         F=[]
884.         result=''
885.         text=input('Введите текст(русский): ')
886.         text=text.lower()
887.         normtext=''
888.         for i in range(0,len(text)):
889.             if text[i] in alfcode:
890.                 normtext+=text[i]
891.         for i in range(0,len(alfcode)):
892.             if alfcode[i] not in KvadratPol:
895.         for i in range(6):
897.         for q in range(0,len(normtext)):
898.             for i in range(0,6):
899.                 for j in range(0,6):
901.                         h=[]
902.                         h.append(i)
903.                         h.append(j)
904.                         F.append(h)
906.     def shifrovka():
908.         for i in range(0,len(F)):
909.             F[i][0]+=1
910.             if F[i][0]==6:
911.                 F[i][0]-=6
912.         for i in range(0,len(F)):
914.         print(result)
915.         return result
916.     def deshifrovka():
918.         for i in range(0,len(F)):
919.             F[i][0]-=1
920.             if F[i][0]==-1:
921.                 F[i][0]+=6
922.         for i in range(0,len(F)):
924.         print(result)
925.         return result
926.     while True:
928. 1-Зашифровать   |
929. 2-Дешифровать   |
930. 0-Назад         |
931. ________________| '''))
933.             result=shifrovka()
934.             continue
936.             result=deshifrovka()
937.             continue
939.             break
940.         else:
941.             print('Неверный пункт меню!')
942.             continue
943.     return result
944. def w3w1w2w2():
945.     def norm():
948.         F=[]
949.         F1=[]
950.         F2=[]
951.         result=''
952.         text=input('Введите текст(русский): ')
953.         text=text.lower()
954.         normtext=''
955.         for i in range(0,len(text)):
956.             if text[i] in alfcode:
957.                 normtext+=text[i]
958.         for i in range(0,len(alfcode)):
959.             if alfcode[i] not in KvadratPol:
962.         for i in range(6):
965.     def shifrovka():
967.         for q in range(0,len(normtext)):
968.             for i in range(0,6):
969.                 for j in range(0,6):
971.                         F1.append(i)
972.         for q in range(0,len(normtext)):
973.             for i in range(0,6):
974.                 for j in range(0,6):
976.                         F2.append(j)
977.         FF=F1+F2
978.         y = ceil(len(FF)/(int(len(FF)/2)))
979.         for i in range(int(len(FF)/2)):
980.             F.append(FF[y*i:y*(i+1)])
981.         for i in range(0,len(F)):
983.         print(result)
984.         return result
985.     def deshifrovka():
987.         for q in range(0,len(normtext)):
988.             for i in range(0,6):
989.                 for j in range(0,6):
991.                         h=[]
992.                         h.append(i)
993.                         h.append(j)
994.                         F+=h
995.         x1 = ceil(len(F)/2)
996.         for i in range(2):
997.             F1.append(F[x1*i:x1*(i+1)])
998.         for i in range(0,len(F1[0])):
999.             F2.append(F1[0][i])
1000.             F2.append(F1[1][i])
1001.         F.clear()
1002.         x2 = ceil(len(F2)/int(len(F2)/2))
1003.         for i in range(0,int(len(F2)/2)):
1004.             F.append(F2[x2*i:x2*(i+1)])
1005.         for i in range(0,len(F)):
1007.         print(result)
1008.         return result
1009.     while True:
1011. 1-Зашифровать   |
1012. 2-Дешифровать   |
1013. 0-Назад         |
1014. ________________| '''))
1016.             result=shifrovka()
1017.             continue
1019.             result=deshifrovka()
1020.             continue
1022.             break
1023.         else:
1024.             print('Неверный пункт меню!')
1025.             continue
1026.     return result
1027. def w3w1w3w2():
1028.     def norm():
1031.         F=[]
1032.         FF=[]
1033.         result=''
1034.         text=input('Введите текст(русский): ')
1035.         text=text.lower()
1036.         normtext=''
1037.         for i in range(0,len(text)):
1038.             if text[i] in alfcode:
1039.                 normtext+=text[i]
1040.         for i in range(0,len(alfcode)):
1041.             if alfcode[i] not in KvadratPol:
1044.         for i in range(6):
1046.         for q in range(0,len(normtext)):
1047.             for i in range(0,6):
1048.                 for j in range(0,6):
1050.                         h=[]
1051.                         h.append(i)
1052.                         h.append(j)
1053.                         F+=h
1055.     def shifrovka():
1057.         z=F[0]
1058.         del F[0]
1059.         F.append(z)
1060.         x = ceil(len(F)/int(len(F)/2))
1061.         for i in range(0,int(len(F)/2)):
1062.             FF.append(F[x*i:x*(i+1)])
1063.         for i in range(0,len(FF)):
1065.         print(result)
1066.         return result
1067.     def deshifrovka():
1069.         z=[]
1070.         z.append(F[len(F)-1])
1071.         del F[len(F)-1]
1072.         z+=F
1073.         x = ceil(len(z)/int(len(z)/2))
1074.         for i in range(0,int(len(z)/2)):
1075.             FF.append(z[x*i:x*(i+1)])
1076.         for i in range(0,len(FF)):
1078.         print(result)
1079.         return result
1080.     while True:
1082. 1-Зашифровать   |
1083. 2-Дешифровать   |
1084. 0-Назад         |
1085. ________________| '''))
1087.             result=shifrovka()
1088.             continue
1090.             result=deshifrovka()
1091.             continue
1093.             break
1094.         else:
1095.             print('Неверный пункт меню!')
1096.             continue
1097.     return result
1098. def w3w1w1w1():
1099.     def norm():
1102.         F=[]
1103.         result=''
1104.         text=input('Введите текст(русский): ')
1105.         key=input('Введите кодовое слово: ')
1106.         key=key.lower()
1107.         text=text.lower()
1108.         normkey=''
1109.         normtext=''
1110.         for i in range(0,len(text)):
1111.             if text[i] in alfcode:
1112.                 normtext+=text[i]
1113.         for i in range(0,len(key)):
1114.             if key[i] not in normkey:
1115.                 normkey+=key[i]
1116.         for i in range(0,len(normkey)):
1118.         for i in range(0,len(alfcode)):
1119.             if alfcode[i] not in KvadratPol:
1122.         for i in range(6):
1124.         for q in range(0,len(normtext)):
1125.             for i in range(0,6):
1126.                 for j in range(0,6):
1128.                         h=[]
1129.                         h.append(i)
1130.                         h.append(j)
1131.                         F.append(h)
1133.     def shifrovka():
1135.         for i in range(0,len(F)):
1136.             F[i][0]+=1
1137.             if F[i][0]==6:
1138.                 F[i][0]-=6
1139.         for i in range(0,len(F)):
1141.         print(result)
1142.         return result
1143.     def deshifrovka():
1145.         for i in range(0,len(F)):
1146.             F[i][0]-=1
1147.             if F[i][0]==-1:
1148.                 F[i][0]+=6
1149.         for i in range(0,len(F)):
1151.         print(result)
1152.         return result
1153.     while True:
1155. 1-Зашифровать   |
1156. 2-Дешифровать   |
1157. 0-Назад         |
1158. ________________| '''))
1160.             result=shifrovka()
1161.             continue
1163.             result=deshifrovka()
1164.             continue
1166.             break
1167.         else:
1168.             print('Неверный пункт меню!')
1169.             continue
1170.     return result
1171. def w3w1w2w1():
1172.     def norm():
1175.         F=[]
1176.         F1=[]
1177.         F2=[]
1178.         text=input('Введите текст(русский): ')
1179.         key=input('Введите кодовое слово: ')
1180.         key=key.lower()
1181.         text=text.lower()
1182.         normkey=''
1183.         result=''
1184.         normtext=''
1185.         for i in range(0,len(text)):
1186.             if text[i] in alfcode:
1187.                 normtext+=text[i]
1188.         for i in range(0,len(key)):
1189.             if key[i] not in normkey:
1190.                 normkey+=key[i]
1191.         for i in range(0,len(normkey)):
1193.         for i in range(0,len(alfcode)):
1194.             if alfcode[i] not in KvadratPol:
1197.         for i in range(6):
1200.     def shifrovka():
1202.         for q in range(0,len(normtext)):
1203.             for i in range(0,6):
1204.                 for j in range(0,6):
1206.                         F1.append(i)
1207.         for q in range(0,len(normtext)):
1208.             for i in range(0,6):
1209.                 for j in range(0,6):
1211.                         F2.append(j)
1212.         FF=F1+F2
1213.         y = ceil(len(FF)/(int(len(FF)/2)))
1214.         for i in range(int(len(FF)/2)):
1215.             F.append(FF[y*i:y*(i+1)])
1216.         for i in range(0,len(F)):
1218.         print(result)
1219.         return result
1220.     def deshifrovka():
1222.         for q in range(0,len(normtext)):
1223.             for i in range(0,6):
1224.                 for j in range(0,6):
1226.                         h=[]
1227.                         h.append(i)
1228.                         h.append(j)
1229.                         F+=h
1230.         x1 = ceil(len(F)/2)
1231.         for i in range(2):
1232.             F1.append(F[x1*i:x1*(i+1)])
1233.         for i in range(0,len(F1[0])):
1234.             F2.append(F1[0][i])
1235.             F2.append(F1[1][i])
1236.         F.clear()
1237.         x2 = ceil(len(F2)/int(len(F2)/2))
1238.         for i in range(0,int(len(F2)/2)):
1239.             F.append(F2[x2*i:x2*(i+1)])
1240.         for i in range(0,len(F)):
1242.         print(result)
1243.         return result
1244.     while True:
1246. 1-Зашифровать   |
1247. 2-Дешифровать   |
1248. 0-Назад         |
1249. ________________| '''))
1251.             result=shifrovka()
1252.             continue
1254.             result=deshifrovka()
1255.             continue
1257.             break
1258.         else:
1259.             print('Неверный пункт меню!')
1260.             continue
1261.     return result
1262. def w3w1w3w1():
1263.     def norm():
1266.         F=[]
1267.         FF=[]
1268.         result=''
1269.         text=input('Введите текст(русский): ')
1270.         key=input('Введите кодовое слово: ')
1271.         key=key.lower()
1272.         text=text.lower()
1273.         normkey=''
1274.         normtext=''
1275.         for i in range(0,len(text)):
1276.             if text[i] in alfcode:
1277.                 normtext+=text[i]
1278.         for i in range(0,len(key)):
1279.             if key[i] not in normkey:
1280.                 normkey+=key[i]
1281.         for i in range(0,len(normkey)):
1283.         for i in range(0,len(alfcode)):
1284.             if alfcode[i] not in KvadratPol:
1287.         for i in range(6):
1289.         for q in range(0,len(normtext)):
1290.             for i in range(0,6):
1291.                 for j in range(0,6):
1293.                         h=[]
1294.                         h.append(i)
1295.                         h.append(j)
1296.                         F+=h
1298.     def shifrovka():
1300.         z=F[0]
1301.         del F[0]
1302.         F.append(z)
1303.         x = ceil(len(F)/int(len(F)/2))
1304.         for i in range(0,int(len(F)/2)):
1305.             FF.append(F[x*i:x*(i+1)])
1306.         for i in range(0,len(FF)):
1308.         print(result)
1309.         return result
1310.     def deshifrovka():
1312.         z=[]
1313.         z.append(F[len(F)-1])
1314.         del F[len(F)-1]
1315.         z+=F
1316.         x = ceil(len(z)/int(len(z)/2))
1317.         for i in range(0,int(len(z)/2)):
1318.             FF.append(z[x*i:x*(i+1)])
1319.         for i in range(0,len(FF)):
1321.         print(result)
1322.         return result
1323.     while True:
1325. 1-Зашифровать   |
1326. 2-Дешифровать   |
1327. 0-Назад         |
1328. ________________| '''))
1330.             result=shifrovka()
1331.             continue
1333.             result=deshifrovka()
1334.             continue
1336.             break
1337.         else:
1338.             print('Неверный пункт меню!')
1339.             continue
1340.     return result
1341. def w3w2():
1342.     def norm():
1349.         F=[]
1350.         FF=[]
1351.         text=input('Введите текст(русский): ')
1352.         key1=input('Введите кодовое слово №1: ')
1353.         key2=input('Введите кодовое слово №2: ')
1354.         key1=key1.lower()
1355.         key2=key2.lower()
1356.         text=text.lower()
1357.         normtext=''
1358.         normkey11=''
1359.         normkey22=''
1360.         normkey1=''
1361.         normkey2=''
1362.         result=''
1363.         for i in range(0,len(text)):
1364.             if text[i] in alfcode:
1365.                 normtext+=text[i]
1366.         for i in range(0,len(key1)):
1367.             if key1[i] in alfcode:
1368.                 normkey11+=key1[i]
1369.         for i in range(0,len(key2)):
1370.             if key2[i] in alfcode:
1371.                 normkey22+=key2[i]
1372.         for i in range(0,len(normkey11)):
1373.             if normkey11[i] not in normkey1:
1374.                 normkey1+=normkey11[i]
1375.         for i in range(0,len(normkey22)):
1376.             if normkey22[i] not in normkey2:
1377.                 normkey2+=normkey22[i]
1378.         for i in range(0,len(alfcode)):
1379.             if alfcode[i] not in Kvadrat1_4:
1381.         for i in range(0,len(normkey1)):
1383.         for i in range(0,len(normkey2)):
1385.         for i in range(0,len(alfcode)):
1386.             if alfcode[i] not in Kvadrat2:
1388.         for i in range(0,len(alfcode)):
1389.             if alfcode[i] not in Kvadrat3:
1391.         for i in range(6):
1393.         for i in range(6):
1395.         for i in range(6):
1398.     def shifrovka():
1400.         if len(normtext)%2==1:
1401.             normtext+='.'
1402.         for q in range(0,len(normtext)):
1403.             for i in range(0,6):
1404.                 for j in range(0,6):
1406.
1407.                         F.append(i)
1408.                         F.append(j)
1409.         for i in range(int(len(normtext)/2)):
1410.             FF.append(F[4*i:4*(i+1)])
1411.         for i in range(0,len(FF)):
1412.             zz= FF[i][0]
1413.             zzz=FF[i][2]
1414.             FF[i][0]=zzz
1415.             FF[i][2]=zz
1418.         print(result)
1419.         return result
1420.     def deshifrovka():
1422.         x1=normtext[::2]
1423.         x2=normtext[1::2]
1424.         for q in range(0,len(x2)):
1425.             for i in range(0,6):
1426.                 for j in range(0,6):
1428.                         F.append(i)
1429.                         F.append(j)
1430.                         for i in range(0,6):
1431.                             for j in range(0,6):
1433.                                     F.append(i)
1434.                                     F.append(j)
1435.         for i in range(int(len(normtext)/2)):
1436.             FF.append(F[4*i:4*(i+1)])
1437.         for i in range(0,len(FF)):
1438.             zz= FF[i][0]
1439.             zzz=FF[i][2]
1440.             FF[i][0]=zzz
1441.             FF[i][2]=zz
1444.         print(result)
1445.         return result
1446.     while True:
1448. 1-Зашифровать |
1449. 2-Дешифровать |
1450. 0-Назад       |
1451. --------------| '''))
1453.             result=shifrovka()
1454.             continue
1456.             result=deshifrovka()
1457.             continue
1459.             break
1460.         else:
1461.             print('Неверный пункт меню!')
1462.             continue
1463.     return result
1464. while True:
1466. Выберите пункт меню:                                         |
1467. 1-Подстановочные шифры                                       |
1468. 2-Перестановочные шифры                                      |
1469. 3-Шифры, связанные с внесением алфавита в квадратную матрицу |
1470. 0-Назад                                                      |
1471. -------------------------------------------------------------| '''))
1473.         while True:
1475. Подстановочные шифры:           |
1476. 1-Шифр Цезаря                   |
1477. 2-Шифр Атбаш                    |
1478. 3-Шифр замены                   |
1479. 4-Шифр замены с кодовым словом  |
1480. 5-Шифр Бэкона                   |
1481. 6-Полиалфавитный шифр Виженера  |
1482. 7-Одноразовые блокноты          |
1483. 0-Назад                         |
1484. --------------------------------| '''))
1486.                 while True:
1488. 1-Зашифровать |
1489. 2-Дешифровать |
1490. 0-Назад       |
1491. --------------| '''))
1493.                         result=w1w1w1()
1494.                         continue
1496.                         result=w1w1w2()
1497.                         continue
1499.                         break
1500.                     else:
1501.                         print("Неверный пункт меню!")
1502.                         continue
1503.                 continue
1505.                 while True:
1507. 1-Зашифровать |
1508. 2-Дешифровать |
1509. 0-Назад       |
1510. --------------| '''))
1512.                         result=w1w2w1()
1513.                         continue
1515.                         result=w1w2w2()
1516.                         continue
1518.                         break
1519.                     else:
1520.                         print("Неверный пункт меню!")
1521.                         continue
1522.                 continue
1524.                 while True:
1526. 1-Зашифровать |
1527. 2-Дешифровать |
1528. 0-Назад       |
1529. --------------| '''))
1531.                         result=w1w3w1()
1532.                         continue
1534.                         result=w1w3w2()
1535.                         continue
1537.                         break
1538.                     else:
1539.                         print("Неверный пункт меню!")
1540.                         continue
1541.                 continue
1543.                 while True:
1545. 1-Зашифровать |
1546. 2-Дешифровать |
1547. 0-Назад       |
1548. --------------| '''))
1550.                         result=w1w4w1()
1551.                         continue
1553.                         result=w1w4w2()
1554.                         continue
1556.                         break
1557.                     else:
1558.                         print("Неверный пункт меню!")
1559.                         continue
1560.                 continue
1562.                 while True:
1564. Выберите метод:                          |
1565. 1-Метод через буквы "А" и "В"            |
1566. 2-Метод через регистр букв               |
1567. 3-Метод через деление алфавита пополам   |
1568. 4-Метод через гласные и согласные буквы  |
1569. 5-Метод через номер буквы в алфавите     |
1570. 0-Назад                                  |
1571. -----------------------------------------| '''))
1573.                         while True:
1575. 1-Зашифровать |
1576. 2-Дешифровать |
1577. 0-Назад       |
1578. --------------| '''))
1580.                                 result=w1w5w1w1()
1581.                                 continue
1583.                                 result=w1w5w1w2()
1584.                                 continue
1586.                                 break
1587.                             else:
1588.                                 print("Неверный пункт меню!")
1589.                                 continue
1590.                         continue
1592.                         while True:
1594. 1-Зашифровать |
1595. 2-Дешифровать |
1596. 0-Назад       |
1597. --------------| '''))
1599.                                 result=w1w5w2w1()
1600.                                 continue
1602.                                 result=w1w5w2w2()
1603.                                 continue
1605.                                 break
1606.                             else:
1607.                                 print("Неверный пункт меню!")
1608.                                 continue
1609.                         continue
1611.                         while True:
1613. 1-Зашифровать |
1614. 2-Дешифровать |
1615. 0-Назад       |
1616. --------------| '''))
1618.                                 result=w1w5w3w1()
1619.                                 continue
1621.                                 result=w1w5w3w2()
1622.                                 continue
1624.                                 break
1625.                             else:
1626.                                 print("Неверный пункт меню!")
1627.                                 continue
1628.                         continue
1630.                         while True:
1632. 1-Зашифровать |
1633. 2-Дешифровать |
1634. 0-Назад       |
1635. --------------| '''))
1637.                                 result=w1w5w4w1()
1638.                                 continue
1640.                                 result=w1w5w4w2()
1641.                                 continue
1643.                                 break
1644.                             else:
1645.                                 print("Неверный пункт меню!")
1646.                                 continue
1647.                         continue
1649.                         while True:
1651. 1-Зашифровать |
1652. 2-Дешифровать |
1653. 0-Назад       |
1654. --------------| '''))
1656.                                 result=w1w5w5w1()
1657.                                 continue
1659.                                 result=w1w5w5w2()
1660.                                 continue
1662.                                 break
1663.                             else:
1664.                                 print("Неверный пункт меню!")
1665.                                 continue
1666.                         continue
1668.                         break
1669.                     else:
1670.                         print("Неверный пункт меню!")
1671.                         continue
1672.                 continue
1674.                 while True:
1676. 1-Зашифровать |
1677. 2-Дешифровать |
1678. 0-Назад       |
1679. --------------| '''))
1681.                         result=w1w6w1()
1682.                         continue
1684.                         result=w1w6w2()
1685.                         continue
1687.                         break
1688.                     else:
1689.                         print("Неверный пункт меню!")
1690.                         continue
1691.                 continue
1693.                 while True:
1695. 1-Зашифровать |
1696. 2-Дешифровать |
1697. 0-Назад       |
1698. --------------| '''))
1700.                         result=w1w7w1()
1701.                         continue
1703.                         result=w1w7w2()
1704.                         continue
1706.                         break
1707.                     else:
1708.                         print("Неверный пункт меню!")
1709.                         continue
1710.                 continue
1712.                 break
1713.             else:
1714.                 print("Неверный пункт меню!")
1715.                 continue
1716.         continue
1718.         while True:
1720. Перестановочные шифры:                                     |
1721. 1-Шифр "Скитала"                                           |
1722. 2-Простой столбцовый перестановочный шифр                  |
1723. 3-Простой столбцовый перестановочный шифр с ключом         |
1724. 4-Простой столбцовый перестановочный шифр с кодовым словом |
1725. 0-Назад                                                    |
1726. -----------------------------------------------------------| '''))
1728.                 while True:
1730. 1-Зашифровать |
1731. 2-Дешифровать |
1732. 0-Назад       |
1733. --------------| '''))
1735.                         result=w2w1w1()
1736.                         continue
1738.                         result=w2w1w2()
1739.                         continue
1741.                         break
1742.                     else:
1743.                         print("Неверный пункт меню!")
1744.                         continue
1745.                 continue
1747.                 while True:
1749. 1-Зашифровать |
1750. 2-Дешифровать |
1751. 0-Назад       |
1752. --------------| '''))
1754.                         result=w2w2w1()
1755.                         continue
1757.                         result=w2w2w2()
1758.                         continue
1760.                         break
1761.                     else:
1762.                         print("Неверный пункт меню!")
1763.                         continue
1764.                 continue
1766.                 while True:
1768. 1-Зашифровать |
1769. 2-Дешифровать |
1770. 0-Назад       |
1771. --------------| '''))
1773.                         result=w2w3w1()
1774.                         continue
1776.                         result=w2w3w2()
1777.                         continue
1779.                         break
1780.                     else:
1781.                         print("Неверный пункт меню!")
1782.                         continue
1783.                 continue
1785.                 while True:
1787. 1-Зашифровать |
1788. 2-Дешифровать |
1789. 0-Назад       |
1790. --------------| '''))
1792.                         result=w2w4w1()
1793.                         continue
1795.                         result=w2w4w2()
1796.                         continue
1798.                         break
1799.                     else:
1800.                         print("Неверный пункт меню!")
1801.                         continue
1802.                 continue
1804.                 break
1805.             else:
1806.                 print("Неверный пункт меню!")
1807.                 continue
1808.         continue
1810.         while True:
1812. Шифры, связанные с внесением алфавита в квадратную матрицу: |
1813. 1-Шифр "Квадрат Полибия"                                    |
1814. 2-Шифр четырёх квадратов                                    |
1815. 0-Назад                                                     |
1816. ------------------------------------------------------------| '''))
1818.                 while True:
1820. 1- 1-й способ шифра "Квадрат Полибия"   |
1821. 2- 2-й способ шифра "Квадрат Полибия"   |
1822. 3- 3-й способ шифра "Квадрат Полибия"   |
1823. 0- Выход                                |
1824. ________________________________________| '''))
1826.                         while True:
1828. 1- С кодовым словом    |
1829. 2- Без кодового слова  |
1830. 3- Назад               |
1831. _______________________| '''))
1833.                                 result=w3w1w1w1()
1834.                                 continue
1836.                                 result=w3w1w1w2()
1837.                                 continue
1839.                                 break
1840.                             else:
1841.                                 print('Неверный пункт меню!')
1842.                             continue
1844.                         while True:
1846. 1- С кодовым словом    |
1847. 2- Без кодового слова  |
1848. 3- Назад               |
1849. _______________________| '''))
1851.                                 result=w3w1w2w1()
1852.                                 continue
1854.                                 result=w3w1w2w2()
1855.                                 continue
1857.                                 break
1858.                             else:
1859.                                 print('Неверный пункт меню!')
1860.                             continue
1862.                         while True:
1864. 1- С кодовым словом    |
1865. 2- Без кодового слова  |
1866. 3- Назад               |
1867. _______________________| '''))
1869.                                 result=w3w1w3w1()
1870.                                 continue
1872.                                 result=w3w1w3w2()
1873.                                 continue
1875.                                 break
1876.                             else:
1877.                                 print('Неверный пункт меню!')
1878.                             continue
1880.                         break
1881.                     else:
1882.                         print('Неверный пункт меню!')
1883.                         continue
1884.
1886.                 result=w3w2()
1887.                 continue