Rozdział 13 · Automatyzacja z funkcjami
Mini-projekt – odrabianie lekcji z matematyki z Python
Funkcje generowania i sprawdzania mnożenia przykładów – ćwiczenie wszystkich technik z rozdziału, z czystą logiką walidacyjną oddzieloną od I/O.
Zastosowanie
defreturn*args (опционально)randomциклыPoziom
integracja
Rezultat
Trenażer tekstowy
Zbieraj funkcje, argumenty i return w jednym użytecznym narzędziu: generatorze przykładów aby trenować tabliczkę mnożenia. Podzielmy problem na funkcje według znaczenia i nie zostawiajmy go w spokoju W częściach:
MAIN
sgenerirovat_primer
proverit_otvet
domashnee_zadanie.py
import random
def sgenerirovat_primer():
a = random.randint(2, 9)
b = random.randint(2, 9)
return a, b, a * b
def proverit_otvet(pravilnyj_otvet, otvet_polzovatelya):
return pravilnyj_otvet == otvet_polzovatelya
a, b, pravilnyj_otvet = sgenerirovat_primer()
otvet = int(input(f"Ile to będzie kosztować {a} x {b}? "))
if proverit_otvet(pravilnyj_otvet, otvet):
print(„Zgadza się!”)
else:
print(f"Poprawna odpowiedź jest poprawna: {pravilnyj_otvet}")
Funkcja zwraca od razu trzy wartości
return a, b, a * b faktycznie zwraca jedną krotkę (a, b, a * b) — rozkładamy to na trzy zmienne jednocześnie, jak w §13.10 i rozdziale 11.sgenerirovat_primer i proverit_otvet są testowane osobno
proverit_otvet(56, 56) oraz proverit_otvet(56, 50) można wywołać bezpośrednio i sprawdzić wynik — bez ani jednego input(). To właśnie idea z §13.24: czysta logika walidacji jest oddzielona od I/O.★★ Zadanie samodzielne
Poprawny licznik odpowiedzi
Owiń generowanie przykładu w pętlę na 5 kolejnych pytań i policz, ile z nich rozwiązano poprawnie.
Praktyka: Generator przykładów matematycznych
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji