Mes jau susipažinome su funkcija (komanda) print(...)
, kuri atspausdina duomenis. Norint panaudoti funkciją, reikia parašyti jos vardą, po kurio skliausteliuose ( )
nurodyti jai pateikiamus duomenis - argumentus. Funkcijos darbas priklausys nuo gautų argumentų. Pvz., print
funkcija atspausdina gautus argumentus paeiliui:
Papildomoi tarpai šioje programoje prasmės nekeičia. Tačiau, būkite atsargūs naudodami tarpus eilutės pradžioje - atitraukimas nuo krašto (angl. indentation) gali lemti klaidą. Daugiau apie atitraukimą sužinosime po kelių pamokų. |
Būna funkcijų, kurioms argumentų nereikia nurodyti - tada tiesiog rašomi tušti skliausteliai, nes neparašius skliaustelių funkcija neveiks. Tokios funkcijos arba visada daro tą patį (pvz, print()
tiesiog spausdina tuščią eilutę), arba duomenis gauna kitaip: nuskaito iš failo ar naudoja globalius (visoje programoje pasiekiamus) kintamuosius.
Funkcija gali grąžinti darbo metu apskaičiuotas reikšmes (angl. return values
) . Pavyzdžiui funkcija max()
grąžina didžiausią reikšmę.
max(42, 17)
sakome, kad "funkcija max
grąžino reikšmę 42
."
Funkcija max
turi draugę - min
funkciją, kuri grąžina mažiausią iš duotų argumentų.
x = 13 y = 7 a = max(x+y, x*2) b = min(x, y) print(a, b)
Funkcijos gali būti kombinuojamos.
x = min(max(13, 7), 9) print(x)
Python leidžia kurti savo funkcijas (naudojant žodelį “def”) - po kelių pamokų to išmoksime.
Dažniausios klaidos
Jei funkcija gaus per daug ar per mažai argumentų, bus klaida. Pavyzdžiui funkcija max reikalauja bent vieno argumento.
Jei programa “nulūžo”, svarbu perskaityti klaidos aprašymą - ten yra naudingos informacijos.
Python sako kad tai sintaksės klaida - programa nesupranta, ką tu užrašei:
Traceback (most recent call last): In line 2 of the code you submitted: bigger = max(3, 4) ^ SyntaxError: invalid syntaxTačiau, eilutė
bigger = max(3, 4)
yra gera. Problema tame, kad mes užmiršome eilutėje smaller = min(14, 99
uždaryti skliaustus. Todėl Python ieškojo )
tolimesnėje eilutėje. Taigi, ieškant klaidos, verta patikrinti aplinkines programos eilutes.
Pratimai
Tai dviejų dalių užduotis, kurioje naudosime min
ir max
funkcijas. Tarp dviejų miestų Maxime ir Miniac yra keletas tiltų. Kiekvienu iš tiltų leidžiama vežti tik tam tikrą svorį.
Pratimas: sumaišytas kodas
Sudėliokite eilutes teisinga tvarka.
Atlikus pratimus galima eiti:
- tiesiai į 3 pamoką, arba
- pasigilint į funkcijų naudojimą .