1. Funkcja przestaw w Pythonie
Matura maj 2025 - Matura z informatyki: arkusze krok po kroku (Python)
**Zadanie 1. Funkcja rekurencyjna** (arkusz maj 2025). Funkcja `przestaw(n)` z arkusza w Pythonie (nazwa w kodzie: `rearrange`). Operator `mod` to `%`, a `div` to `//`. Funkcja odcina dwie ostatnie cyfry (`r = n % 100`), zamienia je miejscami (`a + 10 * b`) i dokleja przed nimi wynik dla reszty liczby, pomnożony przez 100. Licznik `calls` liczy wszystkie wywołania razem z pierwszym. Arkusz podaje wiersz wzorcowy: dla 316498 wynik to 134689 po 3 wywołaniach. Uruchom krokowo (przycisk **Krok**): w podglądzie widać stos wywołań, każde kolejne wywołanie dostaje liczbę krótszą o dwie cyfry.
calls = 0
def rearrange(n):
# funkcja przestaw z arkusza: zamienia cyfry w parach, licząc od końca liczby
global calls
calls += 1
r = n % 100
a = r // 10
b = r % 10
n = n // 100
if n > 0:
w = a + 10 * b + 100 * rearrange(n)
elif a > 0:
w = a + 10 * b
else:
w = b
return w
print(rearrange(316498), calls)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.