Menu
Coddy logo textTech

Pętla while

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 48 z 71.

Pętla for sprawdza się świetnie, gdy znasz dokładną liczbę iteracji, a pętla while jest idealna, gdy chcesz wykonywać pętlę aż warunek stanie się fałszywy.

Pętla while sprawdza warunek przed każdą iteracją. Jeśli warunek jest prawdziwy, wykonywany jest kod znajdujący się w jej wnętrzu. Dzieje się tak, dopóki warunek nie stanie się fałszywy.

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

To wyświetla:

Count: 1
Count: 2
Count: 3

Pętla rozpoczyna działanie od sprawdzenia, czy $count <= 3. Ponieważ warunek jest spełniony, kod się wykonuje i zwiększa wartość $count. Gdy $count osiągnie 4, warunek przestaje być spełniony i pętla się zatrzymuje.

Ważne: Zawsze upewnij się, że coś wewnątrz pętli ostatecznie sprawia, że warunek staje się fałszywy. W przeciwnym razie utworzysz nieskończoną pętlę, która nigdy się nie zatrzyma.

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

To dodaje liczby, aż suma osiągnie lub przekroczy 10, a następnie wyświetla końcową wartość.

challenge icon

Wyzwanie

Łatwy

Wczytaj z wejścia jedną liczbę całkowitą reprezentującą docelową sumę.

Użyj pętli while, aby dodawać kolejne liczby, zaczynając od 1 (1, 2, 3, 4, ...), aż suma osiągnie lub przekroczy docelową wartość.

Wypisz końcową sumę w pierwszym wierszu, a ostatnią dodaną liczbę w drugim wierszu.

Przykład 1:

Jeśli wejście to 10, wyjście powinno wyglądać tak:

10
4

(1 + 2 + 3 + 4 = 10, co oznacza osiągnięcie docelowej wartości)

Przykład 2:

Jeśli wejście to 15, wyjście powinno wyglądać tak:

15
5

(1 + 2 + 3 + 4 + 5 = 15)

Przykład 3:

Jeśli wejście to 7, wyjście powinno wyglądać tak:

10
4

(1 + 2 + 3 + 4 = 10, co oznacza przekroczenie wartości 7)

Spróbuj swoich sił

<?php
// Wczytaj docelową sumę
$target = intval(fgets(STDIN));

// Zainicjalizuj zmienne
$total = 0;
$num = 0;

// TODO: Napisz tutaj swój kod
// Użyj pętli while, aby dodawać kolejne liczby (1, 2, 3, ...)
// aż suma osiągnie lub przekroczy wartość docelową


// Wypisz końcową sumę i ostatnią dodaną liczbę
echo $total . "\n";
echo $num;
?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator PHP online