Rozgrzewka z języka Python do matury z informatyki. Zmienne, instrukcje warunkowe, pętle i funkcje.
1.Jaki typ danych zwróci w Pythonie operacja dzielenia `5 / 2`?
- A.`int`
- B.`float`— poprawna
- C.`double`
- D.`str`
Dlaczego: W języku Python (wersja 3.x) standardowe dzielenie (`/`) zawsze zwraca typ zmiennoprzecinkowy (`float`), nawet jeśli wynik dzieli się bez reszty. Aby uzyskać typ `int` (dzielenie całkowite), należy użyć operatora `//`.
2.Co wypisze na ekranie instrukcja `print(bool("False"))`?
- A.`False`
- B.`True`— poprawna
- C.`None`
- D.Błąd (TypeError)
Dlaczego: Każdy niepusty ciąg znaków (nawet słowo "False") jest w Pythonie ewaluowany i rzutowany na wartość logiczną prawdy (`True`). Wartość logiczną `False` otrzymalibyśmy wyłącznie dla pustego stringa `""`.
3.Jaki będzie wynik wyrażenia logicznego: `not (True and False) or False`?
- A.`True`— poprawna
- B.`False`
- C.`None`
- D.Błąd składniowy
Dlaczego: Najpierw wykonujemy nawias: `True and False` daje `False`. Następnie operator `not` zamienia to na `True`. Ostatecznie otrzymujemy `True or False`, co zawsze daje `True`.
4.Dla jakich wartości zmiennej `i` wykona się pętla `for i in range(2, 8, 2):`?
- A.`2, 3, 4, 5, 6, 7, 8`
- B.`2, 4, 6`— poprawna
- C.`2, 4, 6, 8`
- D.`0, 2, 4, 6`
Dlaczego: Funkcja `range(start, stop, step)` zaczyna od parametru start (2), generuje kolejne wartości z krokiem step (2) i kończy PRZED parametrem stop (8). Wygenerowane zostaną wyłącznie liczby: 2, 4 i 6.
5.Które słowo kluczowe służy do natychmiastowego przerwania wykonywania najbliższej pętli i wyjścia z niej?
- A.`continue`
- B.`stop`
- C.`break`— poprawna
- D.`exit`
Dlaczego: Instrukcja `break` służy do natychmiastowego zatrzymania iteracji i opuszczenia bloku pętli. Z kolei instrukcja `continue` przerywa jedynie bieżącą iterację, przechodząc do początku następnej.
6.Która z poniższych definicji instrukcji warunkowej jest zapisana w Pythonie całkowicie poprawnie?
- A.`if x == 10:`— poprawna
- B.`if (x = 10) then:`
- C.`if x = 10:`
- D.`if x == 10 {`
Dlaczego: W Pythonie instrukcję zaczynamy od `if`, następnie używamy poprawnego operatora porównania (`==`), a warunek kończymy dwukropkiem `:`. Blok kodu wyznacza się z kolei odpowiednim wcięciem, a nie nawiasami klamrowymi.
7.Jaką wartość domyślnie zwraca funkcja, jeśli programista nie napisał w niej instrukcji `return`?
- A.`0`
- B.`False`
- C.`""` (pusty string)
- D.`None`— poprawna
Dlaczego: Jeżeli funkcja w Pythonie dotrze do końca swojego bloku bez napotkania instrukcji `return` z konkretną wartością, automatycznie zwraca systemowy obiekt typu Null, czyli `None`.
8.Co spowoduje wykonanie instrukcji `continue` wewnątrz bloku pętli?
- A.Kończy działanie całego programu
- B.Wychodzi z pętli całkowicie
- C.Pomija resztę kodu w aktualnej iteracji i przechodzi do następnej— poprawna
- D.Wstrzymuje wykonanie kodu do momentu naciśnięcia klawisza
Dlaczego: Użycie `continue` nakazuje pętli zignorowanie wszystkich operacji, które nastąpiłyby po tej instrukcji w danym przebiegu i od razu przejście do sprawdzenia warunku dla nowej iteracji.
9.Jak prawidłowo połączyć wczytanie danych wejściowych od użytkownika z rzutowaniem ich na liczbę całkowitą?
- A.`x = input(int())`
- B.`x = integer(input())`
- C.`x = int(input())`— poprawna
- D.`x = input().to_int()`
Dlaczego: Standardowa funkcja `input()` pobiera dane w postaci tekstu (`str`). Aby zamienić ten tekst na typ integer (int), przekazujemy wynik wywołania `input()` bezpośrednio jako argument do funkcji konwertującej `int()`.
10.Które słowo kluczowe umożliwia przypisywanie nowych wartości zmiennej z globalnego skryptu wewnątrz definicji lokalnej funkcji?
- A.`global`— poprawna
- B.`nonlocal`
- C.`static`
- D.`external`
Dlaczego: Zmienne utworzone poza funkcją można odczytywać, ale do modyfikowania ich, należy na samym początku tej funkcji zadeklarować je za pomocą słowa kluczowego `global`.