• Как найти подстроку в python?

    @IraDzyuba
    Вариант решения задачи

    from string import*
    
    # Принимаем входные данные
    input_string = input().split()
    password = input_string[0]; start = int(input_string[1])
    
    # Создаем список всех букв алфавита
    letters = list(ascii_lowercase)
    # Создаем словарь, где ключ - буква алфавита, а значение - вес буквы
    # В случае, если вес буквы больше 25, то из суммы веса вычитаем проверочное условие (в случае истинности дает 1) умноженное на 26 (для того, чтобы первая следующая буква дала вес равный 0, а не 1)
    letters_count = {letters[i]:i+start-(((i+start)>25)*26) for i in range(len(letters))}
    
    # Создаем функцию вычислений веса буквы 
    def get_letter_count(letter):
        return letters_count[letter]
    
    # Счтчик веса всего пароля
    sum = 0
    # Цикл вычисления веса пароля
    for letter in password:
        sum += get_letter_count(letter)
    
    print(sum)
    Ответ написан
  • Как из списка списков получить такой результат?

    @IraDzyuba
    Нужно поменять местами все элементы матрицы, кроме главной диагонали. То есть, нужно создать цикл, который повторяется столько раз, сколько элементов находится по одну сторону от главной диагонали (не включая ее).

    Вот мой вариант:
    lst = [['1', '2', '3'],['4', '5', '6'],['7', '8', '9']]
    
    for i in range(len(lst)):
        for j in range(i):
            lst[i][j], lst[j][i] = lst[j][i], lst[i][j]
    
    for row in lst:
        print(*row)
    Ответ написан
    Комментировать