4. tēma: Funkcijas un Modularitāte. 2. stunda: Vērtību atgriešana.

Tavs šīs stundas izaicinājums: Iemācīt funkcijai ne tikai izpildīt darbību, bet arī "atdot" rezultātu atpakaļ programmai. Tas ļaus Tev veikt aprēķinus un saglabāt to rezultātus mainīgajos turpmākai izmantošanai spēlē.

SR 2.4.15. (Vērtību atgriešana no funkcijas)

Teorija: "Return" mehānisms

Ja print() tikai parāda rezultātu uz ekrāna, tad return to "atdod" atpakaļ programmai, lai mēs to varētu izmantot tālāk (piemēram, saglabāt mainīgajā vai izmantot aprēķinos).

def saskaiti(a, b):
    rezultats = a + b
    return rezultats # Funkcija atdod rezultātu un beidz darbu
    print("Šis teksts nekad neparādīsies!") # Kods pēc return netiek izpildīts

# Saglabājam atgriezto vērtību mainīgajā
mana_summa = saskaiti(10, 5)

# Tagad mēs šo vērtību varam izmantot tālāk
jauna_summa = mana_summa + 100
print(f"Gala rezultāts ir {jauna_summa}")

1. uzdevums: Punktu kalkulators

Izveido vienkāršu funkciju, kas aprēķina kopējo punktu skaitu pēc raunda, pieskaitot bonusu.

Izpildes soļi:

  1. VS Code izveido failu punktu_sistema.py.
  2. Definē funkciju:
    def aprekinat_punktus(punkti, bonuss):.
  3. Funkcijas iekšienē izveido mainīgo:
    kopa = punkti + bonuss.
  4. Atgriez šo vērtību, izmantojot return kopa.
  5. Ārpus funkcijas izsauc to un saglabā rezultātu mainīgajā:
    rezultats = aprekinat_punktus(100, 20).
  6. Izdrukā rezultats terminālī.

2. uzdevums: Veselības pārbaude

Lieto funkciju ar vērtības atgriešanu, lai noteiktu, vai spēlētājs vēl ir "dzīvs" (True/False).

Izpildes soļi:

  1. Izveido failu speletaja_statuss.py.
  2. Definē funkciju:
    def ir_dzivs(hp):.
  3. Ja hp ir lielāks par 0, atgriez True, citādi atgriez False.
  4. Izveido mainīgo mana_veseliba = 45.
  5. Izmanto if konstrukciju, kuras nosacījumā izsauc funkciju:
    if ir_dzivs(mana_veseliba):.
  6. Ja funkcija atgriež True, izvadi "Turpini cīņu!", ja False – "Spēle beigusies!".

3. uzdevums: Nejaušs ienaidnieka ģenerators

Izveido funkciju, kas izvēlas un atgriež uzreiz divas vērtības – nejaušu pretinieka vārdu un tā spēka līmeni.

Izpildes soļi:

  1. Izveido failu ienaidnieki.py. Failā importē random bibliotēku.
  2. Definē funkciju:
    def generet_ienaidnieku():.
  3. Funkcijā izveido sarakstu ar vismaz 3 pretinieku veidiem (piem., "Skelets", "Orks", "Pūķis").
  4. Izmanto random.choice(), lai izvēlētos vienu vārdu un random.randint(1, 10) spēkam.
  5. Atgriez abus datus reizē (atdalot ar komatu):
    return vards, speks.
  6. Izsauc funkciju un saglabā abus mainīgos uzreiz:
    v, s = generet_ienaidnieku() un parādi ziņojumu par ienaidnieka parādīšanos.

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

Koda piemērs

# Funkcija, kas "sagatavo" datus un atdod tos atpakaļ
def dabut_ieroca_boju(tips):
    if tips == "zobens":
        return 15
    elif tips == "loks":
        return 10
    
    # Ja neizpildās neviens if, atgriežam šo:
    return 5

# Saglabājam atgriezto vērtību mainīgajā
bojajums = dabut_ieroca_boju("zobens")
print(f"Tu nodarīji {bojajums} HP bojājumu!")
Tu nodarīji 15 HP bojājumu!
⬅ Iepriekšējā stunda Nākamā stunda ➡