Menu
Coddy logo textTech

Verschachtelte Schleifen

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 46 von 88.

Sie können eine Schleife in eine andere Schleife einfügen, um eine verschachtelte Schleife zu erstellen. Die innere Schleife wird für jede Iteration der äußeren Schleife vollständig durchlaufen, was dieses Muster nützlich für die Arbeit mit Gittern, Tabellen oder Kombinationen macht.

for i in 1..2
  for j in 1..3
    puts "i=#{i}, j=#{j}"
  end
end

Dies gibt sechs Zeilen aus. Für jeden Wert von i durchläuft die innere Schleife alle Werte von j.

Zuerst ist i gleich 1, während j die Werte 1, 2, 3 durchläuft. Dann wird i zu 2 und j durchläuft erneut 1, 2, 3.

Ein praktisches Beispiel ist das Erstellen eines einfachen Multiplikationsmusters:

for row in 1..3
  for col in 1..3
    print "#{row * col} "
  end
  puts ""
end

Dies gibt ein 3x3-Gitter von Produkten aus. Das print behält Werte in derselben Zeile, und puts "" wechselt in eine neue Zeile, nachdem jede Reihe abgeschlossen ist. Sie können auch verschiedene Schleifentypen mischen, wie eine times-Schleife innerhalb einer for-Schleife.

challenge icon

Aufgabe

Einfach

Lies zwei Ganzzahlen aus der Eingabe:

  1. rows - die Anzahl der Zeilen
  2. cols - die Anzahl der Spalten

Verwende verschachtelte Schleifen, um ein Rechteck aus Sternchen (*) mit den angegebenen Dimensionen auszugeben. Jede Zeile sollte cols Sternchen enthalten, die durch Leerzeichen getrennt sind, und jede Zeile sollte in einer eigenen Zeile stehen.

Verwende print für Sternchen innerhalb einer Zeile und puts, um nach jeder Zeile in die nächste Zeile zu springen.

Wenn die Eingaben zum Beispiel 3 und 4 sind, sollte die Ausgabe wie folgt aussehen:

* * * *
* * * *
* * * *

Wenn die Eingaben 2 und 5 sind, sollte die Ausgabe wie folgt aussehen:

* * * * *
* * * * *

Spickzettel

Verschachtelte Schleifen ermöglichen es Ihnen, eine Schleife innerhalb einer anderen zu platzieren. Die innere Schleife wird für jede Iteration der äußeren Schleife vollständig durchlaufen.

for i in 1..2
  for j in 1..3
    puts "i=#{i}, j=#{j}"
  end
end

Dies gibt insgesamt sechs Zeilen aus. Für i=1 durchläuft j die Werte 1, 2, 3. Dann durchläuft j für i=2 erneut die Werte 1, 2, 3.

Verwenden Sie print, um die Ausgabe in derselben Zeile zu halten, und puts "", um in eine neue Zeile zu wechseln:

for row in 1..3
  for col in 1..3
    print "#{row * col} "
  end
  puts ""
end

Sie können verschiedene Schleifentypen mischen, z. B. eine times-Schleife innerhalb einer for-Schleife verwenden.

Probier es selbst

# Eingabe lesen
rows = gets.to_i
cols = gets.to_i

# TODO: Schreibe deinen Code unten
# Verwende verschachtelte Schleifen, um ein Rechteck aus Sternchen auszugeben
# Verwende print für Sternchen innerhalb einer Zeile und puts, um zur nächsten Zeile zu wechseln
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen