Menu
Coddy logo textTech

Fortsetzen einer bestimmten Schleife

Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy. Lektion 3 von 68.

Genauso wie du Labels mit break verwenden kannst, um bestimmte Schleifen zu verlassen, erlaubt Go dir auch, Labels mit der Anweisung continue zu verwenden. Ein mit einem Label versehenes continue überspringt die aktuelle Iteration der angegebenen Schleife und springt zu ihrer nächsten Iteration.

Dies ist besonders bei verschachtelten Schleifen nützlich, wenn du innerhalb einer inneren Schleife den Rest der aktuellen Iteration einer äußeren Schleife überspringen möchtest, anstatt lediglich die innere Schleife fortzusetzen.

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i == 1 && j == 0 {
            continue outer
        }
        fmt.Printf("i=%d, j=%d\n", i, j)
    }
    fmt.Println("End of outer loop iteration")
}

In diesem Beispiel überspringt die Anweisung continue outer, wenn i == 1 && j == 0, den Rest der aktuellen Iteration der äußeren Schleife, einschließlich der inneren Schleife und der Meldung „End of outer loop iteration“. Das Programm fährt dann direkt mit der nächsten Iteration der äußeren Schleife fort, in der i den Wert 2 annimmt.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung übst du die Verwendung von markierten continue-Anweisungen, um die Ausführung verschachtelter Schleifen zu steuern. Du erstellst ein Datenverarbeitungssystem, das bestimmte Iterationen der äußeren Schleife überspringen muss, basierend auf Bedingungen, die in inneren Schleifen gefunden werden.

Du erhältst zwei Eingaben:

  • Eine Zeichenkette, die die Anzahl der zu verarbeitenden Zeilen darstellt (z. B. "4")
  • Eine Zeichenkette, die eine Zahl für die Überspringbedingung darstellt (z. B. "3")

Das folgende 2D-Datenarray wird bereitgestellt:

data := [][]int{
    {1, 2, 3, 4, 5},
    {6, 7, 8, 9, 10},
    {11, 12, 13, 14, 15},
    {16, 17, 18, 19, 20},
    {21, 22, 23, 24, 25}
}

Deine Aufgabe ist es:

  1. Die Anzahl der Zeilen aus der ersten Eingabe zu parsen, um zu bestimmen, wie viele Zeilen verarbeitet werden sollen
  2. Die Zahl für die Überspringbedingung aus der zweiten Eingabe zu parsen
  3. Verschachtelte Schleifen mit einem markierten continue zu verwenden, um die Daten zu verarbeiten
  4. Für jede Zeile jeden Spaltenwert in dieser Zeile zu überprüfen
  5. Wenn du die Zahl für die Überspringbedingung in einer beliebigen Spalte einer Zeile findest, ein markiertes continue zu verwenden, um den Rest der Verarbeitung dieser Zeile zu überspringen und zur nächsten Zeile zu wechseln
  6. Für Zeilen, die die Zahl für die Überspringbedingung nicht enthalten, "Processing row [row_number]: [value1] [value2] [value3] [value4] [value5]" auszugeben
  7. Für Zeilen, die die Zahl für die Überspringbedingung enthalten, "Skipping row [row_number] due to condition" auszugeben

Die Zeilennummern sollten mit einer 0-basierten Indizierung angegeben werden (die erste Zeile ist 0). Verarbeite nur die in der ersten Eingabe angegebene Anzahl an Zeilen und überprüfe nur die ersten 5 Spalten jeder Zeile.

ERFORDERLICHES AUSGABEFORMAT:

Probier es selbst

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // Eingabe lesen
    var rowsInput string
    var skipConditionInput string
    fmt.Scanln(&rowsInput)
    fmt.Scanln(&skipConditionInput)
    
    // Eingaben parsen
    numRows, _ := strconv.Atoi(rowsInput)
    skipCondition, _ := strconv.Atoi(skipConditionInput)
    
    // Bereitgestelltes 2D-Datenarray
    data := [][]int{
        {1, 2, 3, 4, 5},
        {6, 7, 8, 9, 10},
        {11, 12, 13, 14, 15},
        {16, 17, 18, 19, 20},
        {21, 22, 23, 24, 25},
    }
    
    // TODO: Schreibe deinen Code darunter
    // Verwende verschachtelte Schleifen mit labeled continue, um die Daten zu verarbeiten
    // Prüfe jede Zeile auf die Skip-Condition-Nummer
    // Gib entsprechende Meldungen aus, je nachdem, ob die Bedingung gefunden wurde
    
}
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 Logik & Ablauf

Übe selbstständig: Online-Go-Compiler