#!/usr/bin/env catnip
# Exemple d'utilisation de `break` dans une boucle
# Rechercher un nombre dans une liste
target = 42
found = False
position = -1
numbers = list(10, 25, 30, 42, 50, 60, 70)
i = 0
for num in numbers {
if num == target {
found = True
position = i
break # Sort dès qu'on le trouve
}
i = i + 1
}
if found {
print("Found at position:", position)
} else {
print("Not found")
}
# Exemple avec `while` et `break`
print("Search for first divisor > 1:")
n = 24
divisor = 2
while divisor < n {
if n % divisor == 0 {
print("First divisor:", divisor)
break
}
divisor = divisor + 1
}
# Boucles imbriquées : `break` ne sort que de la boucle interne
print("Matrix - search for zero:")
matrix = list(list(1, 2, 3), list(4, 0, 6), list(7, 8, 9))
row_found = -1
col_found = -1
row = 0
for line in matrix {
col = 0
for val in line {
if val == 0 {
row_found = row
col_found = col
break # Sort uniquement de la boucle interne
}
col = col + 1
}
row = row + 1
}
if row_found >= 0 {
print("Zero found at [", row_found, ",", col_found, "]")
}