Pętla zagnieżdżona
Część sekcji Podstawy ścieżki Python w Coddy. Lekcja 41 z 77.
Pętla zagnieżdżona to pętla znajdująca się wewnątrz innej pętli. Pętla wewnętrzna wykonuje wszystkie swoje iteracje przy każdej iteracji pętli zewnętrznej.
Zacznijmy od prostej pętli zagnieżdżonej, aby zrozumieć tę koncepcję:
# Pętla zewnętrzna
for i in range(3):
print(f"Outer loop iteration: {i}")
# Pętla wewnętrzna
for j in range(2):
print(f" Inner loop iteration: {j}")Po uruchomieniu tego kodu zobaczysz:
Outer loop iteration: 0
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 1
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 2
Inner loop iteration: 0
Inner loop iteration: 1Zauważ, że podczas każdej iteracji pętli zewnętrznej pętla wewnętrzna wykonuje wszystkie swoje iteracje.
A teraz zobaczmy praktyczny przykład — wyświetlanie prostego wzoru:
# Wypisz prostokąt gwiazdek o wymiarach 2x3
for row in range(2): # 2 wiersze
line = ""
for col in range(3): # 3 kolumny
line += "*"
print(line)
# Wynik:
# ***
# ***Pętla zewnętrzna kontroluje, ile wierszy wypisujemy, a pętla wewnętrzna tworzy każdy wiersz, dodając gwiazdki.
Wyzwanie
ŁatwyNapisz kod, który wypisuje wzór prostokąta z gwiazdek (*) przy użyciu zagnieżdżonych pętli.
Twój program powinien:
- Wczytać dwie liczby całkowite:
rowsicols - Użyć struktury zagnieżdżonych pętli, aby wypisać wzór
- Pętla zewnętrzna powinna przechodzić przez każdy wiersz
- Pętla wewnętrzna powinna budować każdy wiersz z odpowiednią liczbą gwiazdek
- Wypisać każdy ukończony wiersz
Przykład: jeśli dane wejściowe to 3 wiersze i 4 kolumny, wynik powinien wyglądać tak:
****
****
****Spróbuj swoich sił
# Pobierz dane wejściowe dla wierszy i kolumn
rows = int(input())
cols = int(input())
# Napisz tutaj zagnieżdżone pętle
# Pętla zewnętrzna dla wierszy
# Pętla wewnętrzna dla kolumnTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – podstawy logikiOperatory logiczne, część 3Operatory logiczne, część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz13Listy — zagadnienia zaawansowane
Wycinanie list — część 1Wycinanie list — część 2Operatory sekwencjiPrzynależność2Zmienne
LiczbyCiąg znakówWartość logicznaKonwencje nazewnictwaPuste zmiennePodsumowanie — inicjalizacja zmiennych8Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka – silniaFunkcja rangePętla zagnieżdżonaPowtórka – dane wejściowe dynamiczne3Operatory, część 1
Operatory arytmetyczneOperator moduloSkróty arytmetycznePowtórka — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
WyjścieWyjście ze zmiennymiWejścieKonwersja typówPowtórka — do 120Powtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumentyWartość zwracanaPowtórka — funkcja SigmaPowtórka — funkcja walidującaWartości domyślnePoćwicz samodzielnie: Kompilator Python online