Sortieren und Umkehren
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 76 von 92.
sort() ordnet die Elemente eines Arrays aufsteigend. Es verändert das Array selbst:
var scores := [5, 1, 9, 3]
scores.sort()
print(scores)[1, 3, 5, 9]sort() gibt nichts zurück, daher ist print(scores.sort()) ein Fehler. Sortiere zuerst und gib dann aus.
Zeichenketten werden alphabetisch sortiert, wobei Großbuchstaben vor Kleinbuchstaben kommen: ["bob", "Cleo", "ana"] wird zu ["Cleo", "ana", "bob"].
reverse() kehrt die aktuelle Reihenfolge des Arrays um, ohne es zu sortieren. Um absteigend zu sortieren, sortiere zuerst und kehre die Reihenfolge dann um:
var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)[4, 9, 2, 7]
[9, 7, 4, 2]Wenn du ein Array einer anderen Variable zuweist, wird es nicht kopiert: Beide Variablen verwenden dann dasselbe Array, und wenn du das eine sortierst, wird auch das andere sortiert. Um die ursprüngliche Reihenfolge beizubehalten, sortiere eine mit duplicate() erstellte Kopie:
var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)[5, 3, 9] [3, 5, 9]Aufgabe
EinfachDas Programm liest eine durch Kommas getrennte Zeile mit ganzen Zahlen in numbers ein (bereits geschrieben). Gib drei Zeilen aus:
Original:und die Zahlen in ihrer ursprünglichen ReihenfolgeAscending:und die Zahlen, sortiert von der kleinsten bis zur größtenDescending:und die Zahlen, sortiert von der größten bis zur kleinsten
Für die Eingabe 5,3,9,1 lautet die Ausgabe:
Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]Probier es selbst
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorRechenabkürzungenRückblick – Einfache MathematikVergleichsoperatoren7Einfache Ein- und Ausgabe
AusgabeAusgabe mit VariablenString-FormatierungEingabeTypumwandlungWiederholung – bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenArgumenteRückgabewertRückgabetypenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungsteiler
BegrüßungsnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Variablen Teil 2
TypdeklarationTypinferenzKonstantenWiederholung – Variablen initialisierenTypumwandlung6Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – einfacher TaschenrechnerVerschachteltes If - ElseMatch-Anweisung9Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung – Dynamische EingabeÜbe selbstständig: Online-GDScript-Compiler