Jaki będzie wynik wykonania powyższego kodu w języku Python?
Jaki będzie wynik wykonania powyższego kodu w języku Python?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: B
B. [20, 40] – Ten kod demonstruje częstą pułapkę: modyfikowanie listy podczas iterowania po niej. Iterator pętli for przesuwa się po indeksach, a nie po wartościach. Gdy usuwamy element, pozostałe elementy przesuwają się w lewo, co powoduje, że iterator 'omija' niektóre z nich.
- Pętla zaczyna od
num = 10.10zostaje usunięte. Lista wygląda tak:[20, 30, 40, 50]. Iterator przesuwa się na następny indeks (indeks 1). - Elementem na indeksie 1 jest teraz
30(ponieważ20przesunęło się na indeks 0). Wartość20zostaje pominięta.numprzyjmuje wartość30. 30zostaje usunięte. Lista wygląda tak:[20, 40, 50]. Iterator przesuwa się na następny indeks (indeks 2).- Elementem na indeksie 2 jest teraz
50. Wartość40zostaje pominięta.numprzyjmuje wartość50. 50zostaje usunięte. Lista wygląda tak:[20, 40]. Pętla próbuje przejść do następnego indeksu, ale lista ma już tylko 2 elementy, więc pętla się kończy.
Dlaczego inne odpowiedzi są nieprawidłowe:
A. [] – To intuicyjna, ale błędna odpowiedź. Jak widać, pętla nie przetwarza wszystkich elementów.
C. [10, 30, 50] – Jest to wynik błędnego śledzenia działania pętli.
D. Kod spowoduje błąd... – Chociaż modyfikowanie listy w ten sposób jest złą praktyką, w Pythonie nie prowadzi to do błędu wykonania (RuntimeError), a jedynie do nieoczekiwanego logicznie rezultatu.
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Język programowania PythonWysokopoziomowy język programowania ogólnego przeznaczenia o dynamicznym typowaniu i czytelnej składni opartej na wcięciach blokowych, wykonywany przez interpreter.
- Podstawowe typy i struktury w PythoniePodstawowe kolekcje Pythona: Listy [mutowalne], Krotki (niemutowalne), Słowniki {klucz: wartość} oraz Zbiory set() o unikalnych elementach.
- Zmienne i Stałe w programowaniuNazwane obszary pamięci operacyjnej przechowujące dane robocze programu; zmienne pozwalają na modyfikację wartości podczas działania, podczas gdy stałe mają wartość niezmienną.
Podobne pytania z działu „Jezyk python skladnia i moduly”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 5 pytań z tego działu.
- #90
Oznaczeniem komentarza jednoliniowego w języku Python jest:
- #776
W języku Python, która z poniższych struktur danych jest niezmienna (immutable) i uporządkowana?
- #822
Jaki będzie wynik wykonania przedstawionego kodu w języku Python?
- #831
W języku Python, która z poniższych struktur danych jest niezmienna (immutable)?