1. Python / Говнокод #25572

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    book = open("Kniga_Lolita.txt", "r")
    intab = ""
    outtab = ""
    deltab = '"?.,![]«»:()123456789-;#%'
    trantab = str.maketrans(intab, outtab, deltab)
    st = book.read()
    final = st.translate(trantab)
    you = ''
    fok = 0
    stak = 0
    def dekod(kod):
        lkod = len(kod)
        llkod = lkod
        kody = ''
        i = 0
        if lkod % 3 != 0:
            print('Т.к. вы написали слово кол-во символов которого')
            print('Дешифратор не сможет понять, последнии символы будут стерты из кода')
            print('Впредь будте внимательны, из этого код может расшифроваться неправильно!')
            while llkod % 3 != 0:
                i += 1
                llkod -= 1
            kody += kod[0:lkod - i]
            print('Чистый код: ')
            print(kody)
            dekod2(kody)
        else:
            kody += kod
            dekod2(kody)
    def dekod2(kody):
        i = 0
        j = 0
        dek = []
        lkody = len(kody)
        while j != lkody:
            j += 3
            dek += [kody[i:j]]
            i += 3
        print('Код разделенный по буквам: ')
        print(dek)
        dekod3(dek)
        
    def dekod3(dek):
        x = 0
        for i in range(len(dek)):
            for x in permutations(dek[i]):
                #print (x)
                dekod4(x)
    def dekod4 (x):
        new  = open("prog.txt", "w")
        aa = new.write(final)
        new.close()
        new = open("prog.txt", "r")
        st1 = ''
        st2 = ''
        for num, line in enumerate(new):
            if num == int(x[0]):
                lis = line.split()
                for num1, line1 in enumerate(lis):
                    if num1 == int(x[1]):
                        ss = ''
                        ss = line1
                        try:
                            st2 += ss[int(x[2])]
                            bild(st2)
                        except IndexError:
                            return 0
    def bild(st2): #000105202 Пример шифра: Лес
        global you
        global fok
        if st2:
            if len(st2) == 1:
               you += st2
               fok += 1
        if fok == 13: #Это число 13 просто потому, Если сделать не под магическую цифру, то можно будет испольновать и для 4-х буквенных слов и т.д.
            blin(you)
    def blin(you):
        tt =[]
        i = 0
        j = 6
        c = len(you)
        while c > 0: 
            tt += [[you[i:j]]]
            i += 6
            j += 6
            c -= 6
        print('Возможно не работающая лабутень!')
        for y in range(len(tt)):
            print(tt[y])
    print ('За книгу-код взято произведение Владимирa Набоковa - Лолита')
    print ('Список операций')
    print ('1.Закодировать')
    print ('3.Показать текст книги-кода')
    print ('4.Показать текст без знаков препинания и других символов')
    print ('Введите операцию: ')

    Попытка создать (де)кодировщик
    Оно не работает
    Интерфейс додумайте сами

    Запостил: straustrup, 26 Апреля 2019

    Комментарии (30) RSS

    Добавить комментарий