Iemācies sadalīt programmu pārskatāmos blokos ar def. Apgūsti parametrus, return, scope un koda sadalīšanu moduļos.
Apgūsti funkciju izveidi, parametrus, vērtību atgriešanu, scope noteikumus un koda organizēšanu failos.
def atslēgvārds, parametri un argumenti, noklusētās vērtības, type hints def f(x: int) -> str.
LEGB kārtula - Local → Enclosing → Global → Built-in, return vērtības, vairāki return.
Programmas sadalīšana moduļos, import, from module import func, if __name__ == "__main__".
PEP 8 noteikumi: snake_case, atstarpes ap operatoriem, 4 atstarpes indentācijai, docstrings.
Plūsmas diagrammas pirms kodēšanas - loģikas vizualizācija, pseido-kods, soļu saraksts.
Spēle sadalīta moduļos - spele_logika.py, main.py. Funkcijas, parametri, return, PEP 8.
# Pamata funkcija ar type hints un docstring
def aprēķināt_vidējo(skaitļi: list[float]) -> float:
"""Atgriež saraksta vidējo vērtību."""
if not skaitļi:
return 0.0
return sum(skaitļi) / len(skaitļi)
# Noklusētie parametri
def sveikt(vārds: str, valoda: str = "lv") -> str:
if valoda == "lv":
return f"Sveiks, {vārds}!"
return f"Hello, {vārds}!"
# Vairāki return vērtības (kā tuple)
def dalīt(a: int, b: int) -> tuple[int, int]:
return a // b, a % b # dalījums, atlikums
dalījums, atlikums = dalīt(17, 5) # unpacking
# spele_logika.py
def pārbaudīt(minējums: int, slepenais: int) -> str:
if minējums == slepenais:
return "Pareizi!"
return "Augstāk ↑" if minējums < slepenais else "Zemāk ↓"
# main.py
from spele_logika import pārbaudīt
import random
slepenais = random.randint(1, 100)
while True:
minējums = int(input("Minē (1-100): "))
rezultāts = pārbaudīt(minējums, slepenais)
print(rezultāts)
if rezultāts == "Pareizi!":
break