• Можно ли оптимизировать этот код?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Конечно. Вот этот цикл совершенно не имеет никакого смысла:
    for i in range(len(t)):
        tl.append(t[i])

    Третий цикл тоже не нужен. Вы всё можете делать в одном цикле.
    Или это вы разрешения спрашивали? Никто не запрещает.
    Ответ написан
    2 комментария
  • Можно ли оптимизировать этот код?

    Vindicar
    @Vindicar
    RTFM!
    Можно, если сделать допущение, что текст кодируется посимвольно, а не группами из N символов.
    open_text = 'текст'  # открытый текст
    
    # letters - именно строка, одна позиция - один символ
    letters = ''.join(['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф',
           'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я'])
    key = 5  # ключ к шифру - величина сдвига. Может быть >0 или <0
    # генерируем таблицы подстановки
    encrypt_table = str.maketrans(letters, letters[key:]+letters[:key])  # для шифрования
    decrypt_table = str.maketrans(letters, letters[-key:]+letters[:-key])  # для дешифрования
    
    cypher_text = open_text.translate(encrypt_table)
    restored_text = cypher_text.translate(decrypt_table)
    
    print(open_text)
    print(cypher_text)
    print(restored_text)
    Ответ написан
    Комментировать
  • Можно ли оптимизировать этот код?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Можно
    let = ['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф',
           'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
    
    # t = str(input())
    t = 'текст'
    print(''.join([let[(let.index(x) - 1) % 33] for x in t]))
    # сдйрс
    Ответ написан
    4 комментария
  • Где этот TkInter?

    Maksim_64
    @Maksim_64
    Data Analyst
    Не надо его скачивать он входит в стандартную библиотеку python.
    Ответ написан