Ap/Py/Pamoka A1

Iš wiki.angis.net.
Jump to navigation Jump to search

Labas pasauli - pradedame su funkcijomis
Pilnas šios treniruotės Python kodas yra čia

Prisistatymas su vardu

Daug nelaukdami pradedame nuo pirmo pavyzdžio Hello Word, naudojamo visame pasaulyje kaip pirmoji prisistatymo programa, kuris pertvarkytas į sveikinimo funkciją. Funkcijos antraštė prasideda žodeliu def, po kurio seka funcijos vardas ir tarp sliaustelių rašomas abstrakčių parametrų sąrašas. Antraštė būtinai baigiama dvitaškio simboliu !! Visi funkcijos veiksmai rašomi atitrauktai.
Pasibaigus funkcijos atliekamiems veiksmams, rašome kreipinius į sukurtą funkciją, naudodami konkrečius parametrus, sveikinimo funkcijos atveju vardus "Adomas" ir "Ieva". Tai ir yra sukurtos funkcijos panaudojimas, tuo pačiu ir išbandymas, stebint ar gauname teisingus rezultatus.

def sveikinti(vardas):
    print("Sveikas pasauli!")
    print("Mano vardas yra", vardas)

sveikinti("Adomas")
sveikinti("Ieva")

Eksperimentuojame: žiūrime kurioje ekrano vietoje atsiranda rezultatai ir kaip jie keičiasi. Kitos užduotėlės būtų sveikinimo teksto ir vardų pakeitimai, taip pat kreipinių dauginimas kopijavimo būdu.

Datos - kiek dienų gyventa

Programos galimybės labai priklauso nuo naudojamos bibliotekos, todėl norėdami sužinoti kokia šiandien yra diena (kalendorinė aritmetika yra gana sudėtinga), prijungiame datetime modulį. Tam naudojame import sakinį.

from datetime import date, timedelta

def kiek_gyventa(vardas, metai, mėnuo, diena):
    šiandien = date.today()
    pradinė_data = date(metai, mėnuo, diena)
    trukmė = šiandien - pradinė_data
    print(vardas, "jau gyvena", trukmė)

#kiek_gyventa("Aleksander", 2006, 3, 26) # atidenkite kai reikės
#kiek_gyventa("Millennium", 2000, 1, 1)  # atidenkite kai reikės

Gauname programą su dviem funkcijomis. Jau daugiau erdvės eksperimentams.

Kada bus jubiliejus?

Natūralu, kad sužinojus kiek dienų jau gyventa, domina ir jubiliejaus data, susijusi su apvalia tūkstantine trukme. Tai sukuriame dar vieną funkciją ir tęsiame eksperimentus . Išbandykite ir sužinokite kiek dienų jau pragyventa šiame tūkstantmetyje, jau netrukus bus ir jubiliejus …

def kada_jubiliejus(kiek_dienų, metai, mėnuo, diena):
    gim_data = date(metai, mėnuo, diena)
    jub_data = gim_data + timedelta(kiek_dienų)
    print(kiek_dienų, "dienų jubiliejus bus", jub_data) 

#kada_jubiliejus(6_000, 2006, 3, 26)
#kada_jubiliejus(8_000, 2000, 1, 1)
#kada_jubiliejus(10_000, 2000, 1, 1)

Jei bandysime prie gimimo datos pridėti skaičių, tai gausime klaidos pranešimą, todėl naudojame papildomą funkciją timedelta, kuri suformuoja tinkamą objektą trukmei skaičiuoti.

Apibendriname

Pagrindinė pirmos pamokos mintis – kad programuotojo darbas yra kurti funkcijas, skirtas konkrečioms užduotims atlikti, jas aiškiai įvardinti ir patikrinti jų veikimą.

Pilnas šios treniruotės Python kodas yra čia

Su šiuo kodu galima laisvai eksperimentuoti, pagal šį pavyzdį pabandykite atlikti ir kitus skaičiavimus. Pradinėms žinioms įtvirtinti mokiniams rekomenduojame parašyti ir išbandyti paprastutes funkcijas (kėlimą kvadratu ir kubu) – o gal jie užsimanys ir šio to sudėtingesnio, pvz. sudaryti funkcijas kvadratų sumos ir skirtumo skaičiavimui. Šias funkcijas kurkite, pradėdami nuo tuščio lapo, t.y. sukurdami naują projektą.

Šablonai sprendimui  
def kelti_kvadratu(x):
    print(x*x)
    
def kelti_kubu(x):
    pass # čia įrašykite reikiamus veiksmus
def kvadratų_suma(x, y):
    pass # čia įrašykite reikiamus veiksmus
def kvadratų_skirtumas(x):
    pass # čia įrašykite reikiamus veiksmus
kelti_kvadratu(7)
kelti_kvadratu(11)
kelti_kvadratu(111)
kelti_kvadratu(111_111)
Turinys