Dieser Python-Code wurde entwickelt, um eine Reihe von Vorgängen für eine Liste basierend auf vom Benutzer bereitgestellten Befehlen auszuführen. Lassen Sie uns den Code Schritt für Schritt analysieren, um zu verstehen, wie er funktioniert:
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
Nach dem Login kopieren
if __name__ == '__main__':
- Diese Zeile prüft, ob das Skript direkt ausgeführt wird. Es wurde eine Praxis angewendet, um sicherzustellen, dass der Code in diesem Block nur ausgeführt wird, wenn die Datei der Einstiegspunkt des Programms ist.
N = int(input())
- Das Programm erwartet vom Benutzer die Eingabe einer Ganzzahl, die in der Variablen N gespeichert wird. Diese Zahl gibt an, wie viele Operationen der Benutzer ausführen wird.
l = []
- Leere Liste, die zum Speichern von Elementen verwendet wird, während Operationen ausgeführt werden.
while(N>0):
- Eine While-Schleife wird gestartet, die so lange weiterläuft, wie N größer als 0 ist. Das bedeutet, dass die Schleife N-mal ausgeführt wird, einmal für jeden Vorgang, den der Benutzer ausführen möchte.
cmd_l = input().split()
- Innerhalb der Schleife wartet das Programm darauf, dass der Benutzer eine Textzeile eingibt, die mithilfe der Methode split() in eine Liste von Zeichenfolgen (cmd_l) unterteilt wird. Jedes Element der cmd_l-Liste stellt einen Teil der auszuführenden Operation dar.
if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
- Diese Zeile prüft, ob es sich bei der Operation um einen dreiteiligen „Einfüge“-Befehl handelt (cmd_l muss die Länge 3 haben und das erste Element muss „Einfügung“ sein).
l.insert(int(cmd_l[1]),int(cmd_l[2]))
- Wenn die obige Bedingung wahr ist, wird die Einfügemethode der Liste l aufgerufen. Die Argumente werden von einer Zeichenfolge in eine Ganzzahl konvertiert: cmd_l[1] ist die Position, an der das Element eingefügt wird, und cmd_l[2] ist das einzufügende Element.
elif(len(cmd_l) == 2 und (cmd_l[0] == "remove" oder cmd_l[0] == "append")):
- Diese Zeile prüft, ob es sich bei der Operation um einen zweiteiligen „Entfernen“- oder „Anhängen“-Befehl handelt. cmd_l muss die Länge 2 haben und das erste Element muss „Entfernen“ oder „Anhängen“ sein.
if(cmd_l[0] == "remove"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "append"):
l.append(int(cmd_l[1]))
- Je nach Befehl (remove oder append) wird die entsprechende Methode aus Liste l aufgerufen. Beim Entfernen wird das cmd_l-Element (in eine Ganzzahl konvertiert) aus der Liste entfernt. Beim Anhängen wird das Element cmd_l[[1](konvertiert in eine Ganzzahl) am Ende der Liste hinzugefügt.
elif(len(cmd_l) == 1):
- Überprüft, ob die Operation ein einteiliger Befehl ist (cmd_l muss die Länge 1 haben).
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)
- Je nach Befehl (sort, reverse, pop oder print) wird die entsprechende Methode aus Liste l aufgerufen. sort sortiert die Liste, reverse kehrt die Reihenfolge der Elemente um, pop entfernt das letzte Element und print druckt die Liste.
N -= 1
- Am Ende der Schleife wird N um 1 dekrementiert, was anzeigt, dass eine Operation ausgeführt wurde. Dies wird fortgesetzt, bis N 0 ist und die Schleife endet.
Das obige ist der detaillierte Inhalt vonProblema HackerRank in Python – Basisdatentyplisten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!