While-Schleife
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 44 von 92.
Eine for-Schleife wird einmal für jede Zahl in einem Bereich ausgeführt. Eine while-Schleife läuft so lange weiter, wie eine Bedingung true ist:
var count := 3
while count > 0:
print(count)
count -= 1
print("Go!")3
2
1
Go!Die Bedingung wird vor jeder Iteration überprüft. Wenn count zu 0 wird, ist count > 0 false, also wird die Schleife beendet und das Programm danach fortgesetzt. Wenn die Bedingung von Anfang an false ist, wird der Block nie ausgeführt.
Der Block muss etwas ändern, von dem die Bedingung abhängt. Hier bringt count -= 1 count näher an 0. Ohne diese Änderung bliebe die Bedingung true, und die Schleife würde nie enden.
Verwende while, wenn du nicht im Voraus weißt, wie viele Durchläufe du benötigst. Zum Beispiel findet dieser Code die kleinste Zweierpotenz, die größer als 27 ist:
var number := 27
var power_of_two := 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)power_of_two verdoppelt sich bei jeder Iteration: 2, 4, 8, 16, 32. Bei 32 ist power_of_two <= number false, daher gibt das Programm 32 aus.
Aufgabe
EinfachDas Programm liest eine Dezimalzahl in number ein.
Verwende eine while-Schleife, um number durch 2 zu teilen, solange die Zahl größer oder gleich 3.5 ist. Gib dann das Ergebnis aus, also den ersten Wert, der kleiner als 3.5 ist.
Zum Beispiel ergeben sich für die Eingabe 15 die Werte 15, 7.5, 3.75 und 1.875, also gibt das Programm Folgendes aus:
1.875Wenn die Eingabe bereits kleiner als 3.5 ist, gib sie unverändert aus. Verwende keine for-Schleife.
Probier es selbst
extends Node
func _ready():
var number := float(OS.read_string_from_stdin())
# Halbiere number, solange es 3.5 oder größer ist, und gib es dann aus
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