"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Problema de HackerRank en Python: listas de tipos de datos básicos

Problema de HackerRank en Python: listas de tipos de datos básicos

Publicado el 2024-11-06
Navegar:441

Problema HackerRank em Python - Base Data Types Lists

Este código Python está diseñado para realizar una serie de operaciones en una lista basada en comandos proporcionados por el usuario. Analicemos el código paso a paso para entender cómo funciona:

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

si __nombre__ == '__principal__':

  • Esta línea verifica si el script se está ejecutando directamente. Práctica adoptada para garantizar que el código dentro de este bloque solo se ejecute si el archivo es el punto de entrada del programa.

N = int(entrada())

  • El programa espera que el usuario ingrese un número entero que se almacena en la variable N. Este número representa cuántas operaciones realizará el usuario.

l = []

  • Lista vacía utilizada para almacenar elementos a medida que se realizan las operaciones.

mientras(N>0):

  • Se inicia un bucle while que continuará ejecutándose mientras N sea mayor que 0. Esto significa que el bucle se ejecutará N veces, una vez por cada operación que el usuario quiera realizar.

cmd_l = entrada().split()

  • Dentro del bucle, el programa espera a que el usuario ingrese una línea de texto, que se divide en una lista de cadenas (cmd_l) usando el método split(). Cada elemento de la lista cmd_l representa una parte de la operación a realizar.

if(len(cmd_l) == 3 y cmd_l[0] == "insertar"):

  • Esta línea verifica si la operación es un comando "insertar" de tres partes (cmd_l debe tener una longitud de 3 y el primer elemento debe ser "insertar").

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

  • Si la condición anterior es verdadera, se llama al método de inserción de la lista l. Los argumentos se convierten de cadena a número entero: cmd_l[1] es la posición donde se insertará el elemento y cmd_l[2] es el elemento que se insertará.

elif(len(cmd_l) == 2 y (cmd_l[0] == "eliminar" o cmd_l[0] == "agregar")):

  • Esta línea verifica si la operación es un comando de dos partes "eliminar" o "agregar". cmd_l debe tener longitud 2 y el primer elemento debe ser "eliminar" o "agregar".

if(cmd_l[0] == "eliminar"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "añadir"):
l.append(int(cmd_l[1]))

  • Dependiendo del comando (eliminar o agregar), se llama al método correspondiente de la lista l. Para eliminar, el elemento cmd_l (convertido a entero) se elimina de la lista. Para agregar, el elemento cmd_l[[1](convertido a entero) se agrega al final de la lista.

elif(len(cmd_l) == 1):

  • Comprueba si la operación es un comando de una sola parte (cmd_l debe tener longitud 1).

if(cmd_l[0] == "ordenar"):
l.ordenar()
elif(cmd_l[0] == "inverso"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "imprimir"):
imprimir(l)

  • Dependiendo del comando (ordenar, invertir, mostrar o imprimir), se llama al método correspondiente de la lista l. sort ordena la lista, inversa invierte el orden de los elementos, pop elimina el último elemento e print imprime la lista.

N-= 1

  • Al final del ciclo, N se reduce en 1, lo que indica que se ha realizado una operación. Esto continúa hasta que N sea 0, cuando finaliza el ciclo.
Declaración de liberación Este artículo se reproduce en: https://dev.to/gusmedeirost/problema-hackerrank-em-python-base-data-types-lists-5h91?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3