4. tēma: Funkcijas un Modularitāte. 1. stunda: Funkciju definēšana.

Tavs šīs stundas izaicinājums: Izprast funkciju darbības principus un izveidot atkārtoti lietojamus koda blokus ar parametriem, lai strukturētu un optimizētu savas spēles loģiku.

SR 2.4.15. (Funkciju un procedūru lietošana)

Teorija: Funkcijas anatomija

Funkcija ir kā recepte – Tu to nodefinē vienreiz, bet vari izmantot (izsaukt) daudzas reizes.

def funkcijas_nosaukums(parametrs1, parametrs2):
    # 1. Atkāpe (4 atstarpes vai Tab)
    # 2. Funkcijas "ķermenis" (darbības)
    rezultats = parametrs1 + parametrs2
    print(rezultats)

# Funkcijas izsaukšana ārpus bloka
funkcijas_nosaukums(10, 5)

1. uzdevums: Pirmais sveiciens

Vienkārša uzdevuma ietvaros definēsi un izsauksi savu pirmo funkciju, lai izvadītu spēles sākuma sveicienu terminālī.

Izpildes soļi:

  1. VS Code izveido failu funkcijas_pamati.py.
  2. Definē funkciju:
    def sveiciens():.
  3. Funkcijas iekšienē ieraksti:
    print("Sveiks, ceļotāj! Tavs piedzīvojums sākas.").
  4. Palaid failu. Ievēro, ka terminālis ir tukšs (funkcija nav izsaukta).
  5. Ārpus funkcijas bloka (bez atkāpes) pievieno rindu:
    sveiciens().
  6. Izmanto for ciklu, lai izsauktu šo funkciju trīs reizes pēc kārtas.

2. uzdevums: Personalizēts ziņojums

Izmantojot iegūtās zināšanas, lietosi funkcijas parametrus, lai izveidotu dinamisku spēlētāja statusa ziņojumu.

Izpildes soļi:

  1. Izveido failu parametri.py.
  2. Definē funkciju:
    def paradi_statusu(vards, dzivibas):.
  3. Iekšpusē izvadi ziņojumu, izmantojot f-string:
    print(f"Spēlētājs: {vards} | Dzīvības: {dzivibas}").
  4. Izsauc funkciju pirmo reizi ar savu vārdu un skaitli 100.
  5. Izsauc funkciju otro reizi, izmantojot pretinieka vārdu un skaitli 50.
  6. Palaid failu un pārliecinies, ka abi parametri tiek pareizi ievietoti tekstā.

3. uzdevums: Istabu aprakstītājs ar "Typewriter" efektu

Padziļinātā uzdevumā izveidosi funkciju, kas ne tikai noformē tekstu, bet arī "izritina" (scroll) to pa vienam simbolam, radot klasisku datorspēļu sajūtu.

Izpildes soļi:

  1. Izveido failu cyoa_scrolling.py.
  2. Faila pašā augšā importē laika moduli:
    import time, sys.
  3. Definē "ritināšanas" funkciju:
    def druka_lenam(teksts):
        for simbols in teksts:
            print(simbols, end="", flush=True)
            time.sleep(0.05) # Pauze starp burtiem (sekundēs)
        print() # Beigās pāriet jaunā rindā
  4. Definē galveno funkciju def apraksti_vietu(nosaukums, apraksts):.
  5. Funkcijas iekšienē izmanto print("===") rāmītim, bet apraksta izvadei izsauc savu jauno funkciju druka_lenam(apraksts).
  6. Pārbaudi rezultātu, izsaucot apraksti_vietu() ar kādu garāku stāsta fragmentu.

Biežākās kļūdas (un kā tās labot):

Koda piemērs

# Funkcijas definēšana (receptes uzrakstīšana)
def uztaisi_summu(a, b):
    rezultats = a + b
    print(f"Skaitļu {a} un {b} summa ir {rezultats}")

# Funkcijas izsaukšana (gatavošana)
uztaisi_summu(10, 25)
uztaisi_summu(100, 1)
Skaitļu 10 and 25 summa ir 35
Skaitļu 100 and 1 summa ir 101
⬅ Tēmas apkopojums Nākamā stunda ➡