"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Problème HackerRank en Python - Listes de types de données de base

Problème HackerRank en Python - Listes de types de données de base

Publié le 2024-11-06
Parcourir:464

Problema HackerRank em Python - Base Data Types Lists

Ce code Python est conçu pour effectuer une série d'opérations sur une liste basée sur les commandes fournies par l'utilisateur. Analysons le code étape par étape pour comprendre son fonctionnement :

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 __name__ == '__main__' :

  • Cette ligne vérifie si le script est exécuté directement. Pratique adoptée pour garantir que le code de ce bloc ne sera exécuté que si le fichier est le point d'entrée du programme.

N = int(entrée())

  • Le programme attend de l'utilisateur qu'il saisisse un entier stocké dans la variable N. Ce nombre représente le nombre d'opérations que l'utilisateur effectuera.

l = []

  • Liste vide utilisée pour stocker les éléments au fur et à mesure que les opérations sont effectuées.

pendant que(N>0) :

  • Une boucle while est démarrée et continuera à s'exécuter tant que N est supérieur à 0. Cela signifie que la boucle s'exécutera N fois, une fois pour chaque opération que l'utilisateur souhaite effectuer.

cmd_l = input().split()

  • Dans la boucle, le programme attend que l'utilisateur entre une ligne de texte, qui est divisée en une liste de chaînes (cmd_l) à l'aide de la méthode split(). Chaque élément de la liste cmd_l représente une partie de l'opération à effectuer.

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

  • Cette ligne vérifie si l'opération est une commande "insert" en trois parties (cmd_l doit avoir une longueur de 3 et le premier élément doit être "insert").

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

  • Si la condition ci-dessus est vraie, la méthode d'insertion de la liste l est appelée. Les arguments sont convertis de chaîne en entier : cmd_l[1] est la position où l'élément sera inséré, et cmd_l[2] est l'élément à insérer.

elif(len(cmd_l) == 2 et (cmd_l[0] == "supprimer" ou cmd_l[0] == "append") :

  • Cette ligne vérifie si l'opération est une commande en deux parties "supprimer" ou "ajouter" cmd_l doit avoir une longueur de 2 et le premier élément doit être "supprimer" ou "ajouter".

if(cmd_l[0] == "supprimer") :
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "ajouter"):
l.append(int(cmd_l[1]))

  • En fonction de la commande (supprimer ou append), la méthode correspondante de la liste l est appelée. Pour la suppression, l'élément cmd_l (converti en entier) est supprimé de la liste. Pour append, l'élément cmd_l[[1](converti en entier) est ajouté à la fin de la liste.

elif(len(cmd_l) == 1):

  • Vérifie si l'opération est une commande en une seule partie (cmd_l doit avoir une longueur de 1).

if(cmd_l[0] == "trier") :
l.sort()
elif(cmd_l[0] == "inverse"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "imprimer"):
imprimer(l)

  • Selon la commande (tri, reverse, pop ou print), la méthode correspondante de la liste l est appelée. sort trie la liste, reverse inverse l'ordre des éléments, pop supprime le dernier élément et print imprime la liste.

N -= 1

  • En fin de boucle, N est décrémenté de 1, indiquant qu'une opération a été effectuée. Cela continue jusqu'à ce que N soit égal à 0, lorsque la boucle se termine.
Déclaration de sortie Cet article est reproduit sur : https://dev.to/gusmedeirost/problema-hackerrank-em-python-base-data-types-lists-5h91?1 En cas de violation, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3