Stundas uzdevums: Izprast datu plūsmu funkcijās un pielietot Return statement (Atgriešanas komandu), lai aprēķinu rezultātus padotu atpakaļ galvenajai programmai tālākai apstrādei.
2.4.15. Veido modulāras programmas un funkcijas.70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un tikai beigās pieraksti vienu secinājumu. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Funkcijas var veikt darbības (piemēram, izvadīt tekstu) un izrēķināt jaunu vērtību, ko atdod vietai, no kuras funkcija tika izsaukta. To dara ar atslēgvārdu return.
print(), kas datus tikai parāda ekrānā, return datus nodod tālākai izmantošanai kodā.
# Funkcija atgriež matemātisku rezultātu
def saskaiti(a, b):
return a + b
# Izsaucam funkciju un saglabājam rezultātu
summa = saskaiti(10, 5)
print(f"Rezultāts ir {summa}")
def uzdevuma_dati():
return "Kontroldarba bonuss", 100
nosaukums, punkti = uzdevuma_dati()
Šis ir īss iesildīšanās uzdevums. Nokopē sagatavi, ielīmē to pareizajā koda vietā un palaid. Šeit pietiek droši izmēģināt tēmu 4.2 Vērtību atgriešana (return); detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
def uzdevuma_dati():
return "Kontroldarba bonuss", 100
nosaukums, punkti = uzdevuma_dati()
main.py failā un palaid no termināļa.Pievieno šīs stundas paņēmienu kā nelielu, strādājošu projekta daļu.
punkti, gajiens, atbilde, rezultats vai parbauda_ievadi().Pārbaudi, vai algoritms darbojas paredzami vairākās situācijās.
Ja pamatdarbs ir pabeigts, paplašini projektu ar vienu nelielu programmētu uzlabojumu.
return, Python automātiski atgriež None. Slikti, ja tālāk kodā mēģināsi veikt matemātiku ar None vērtību.
# Slikti: Funkcija aprēķina, bet neko neatdod
def saskaiti(a, b):
rezultats = a + b
# Labi:
def saskaiti(a, b):
return a + b
return komandu, funkcija beidzas. Viss, kas atrodas zem return tajā pašā Indentation (Atkāpē), tiks ignorēts.
# Slikti: print komanda nekad neizpildīsies
def paziņot():
return True
print("Funkcija pabeigta")
# Labi:
def paziņot():
print("Funkcija pabeigta")
return True
# Funkcija klases rīka bonusa noteikšanai
def dabut_rika_bonusus(tips):
if tips == "markieris":
return 15
elif tips == "taimeris":
return 10
# Noklusējuma vērtība, ja neizpildās if/elif
return 5
# Saglabājam atgriezto vērtību jaunā mainīgajā
mans_bonuss = dabut_rika_bonusus("markieris")
print(f"Komanda iegūst {mans_bonuss} bonusa punktus!")