«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Проблема HackerRank в Python — списки базовых типов данных

Проблема HackerRank в Python — списки базовых типов данных

Опубликовано 6 ноября 2024 г.
Просматривать:230

Problema HackerRank em Python - Base Data Types Lists

Этот код Python предназначен для выполнения ряда операций над списком на основе команд, введенных пользователем. Давайте разберем код шаг за шагом, чтобы понять, как он работает:

if __name__ == '__main__':
    N = int(input())
    l = []
    while(N>0):
        cmd_l = input().split()
        if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
            #insert statement
            l.insert(int(cmd_l[1]),int(cmd_l[2]))
        elif(len(cmd_l) == 2 and (cmd_l[0] == "remove" or cmd_l[0] == "append")):
            if(cmd_l[0] == "remove"):
                l.remove(int(cmd_l[1]))
            elif(cmd_l[0] == "append"):
                l.append(int(cmd_l[1]))
        elif(len(cmd_l) == 1):
            if(cmd_l[0] == "sort"):
                l.sort()
            elif(cmd_l[0] == "reverse"):
                l.reverse()
            elif(cmd_l[0] == "pop"):
                l.pop()                
            elif(cmd_l[0] == "print"):
                print(l)
        N -= 1

if __name__ == '__main__':

  • Эта строка проверяет, выполняется ли скрипт напрямую. Практика принята для обеспечения того, чтобы код в этом блоке выполнялся только в том случае, если файл является точкой входа программы.

N = int(input())

  • Программа ожидает, что пользователь введет целое число, которое хранится в переменной N. Это число показывает, сколько операций выполнит пользователь.

l = []

  • Пустой список, используемый для хранения элементов по мере выполнения операций.

пока(N>0):

  • Запускается цикл while, который будет продолжать работать до тех пор, пока N больше 0. Это означает, что цикл будет выполняться N раз, по одному разу для каждой операции, которую хочет выполнить пользователь.

cmd_l = input().split()

  • Внутри цикла программа ожидает, пока пользователь введет строку текста, которая делится на список строк (cmd_l) с помощью метода Split(). Каждый элемент списка cmd_l представляет собой часть выполняемой операции.

if(len(cmd_l) == 3 и cmd_l[0] == "insert"):

  • Эта строка проверяет, является ли операция командой «вставка», состоящей из трех частей (длина cmd_l должна быть 3, а первый элемент должен быть «вставка»).

l.insert(int(cmd_l[1]),int(cmd_l[2]))

  • Если вышеуказанное условие истинно, вызывается метод вставки списка l. Аргументы преобразуются из строки в целое число: cmd_l[1] — это позиция, в которую будет вставлен элемент, а cmd_l[2] — это элемент, который нужно вставить.

elif(len(cmd_l) == 2 и (cmd_l[0] == "удалить" или cmd_l[0] == "добавить")):

  • Эта строка проверяет, является ли операция состоящей из двух частей командой «удалить» или «добавить». cmd_l должна иметь длину 2, а первый элемент должен быть «удалить» или «добавить».

if(cmd_l[0] == "удалить"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "добавить"):
l.append(int(cmd_l[1]))

  • В зависимости от команды (удалить или добавить) вызывается соответствующий метод из списка l. При удалении элемент cmd_l (преобразованный в целое число) удаляется из списка. При добавлении в конец списка добавляется элемент cmd_l[[1](преобразованный в целое число).

elif(len(cmd_l) == 1):

  • Проверяет, является ли операция командой, состоящей из одной части (cmd_l должна иметь длину 1).

if(cmd_l[0] == "сортировать"):
l.sort()
elif(cmd_l[0] == "обратный"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "печать"):
печать(л)

  • В зависимости от команды (сортировка, реверс, выталкивание или печать) вызывается соответствующий метод из списка l. sort сортирует список,verse меняет порядок элементов на обратный, pop удаляет последний элемент, а print печатает список.

N -= 1

  • В конце цикла N уменьшается на 1, указывая, что операция была выполнена. Это продолжается до тех пор, пока N не станет равным 0, когда цикл завершится.
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/gusmedeirost/problema-hackerrank-em-python-base-data-types-lists-5h91?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3