Informatika1-2013/Gyakorlat4

A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2013. október 10., 08:15-kor történt szerkesztése után volt.
(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Tartalomjegyzék

Ismétlés az elõzõ gyakról

  • String: 'kutya'
  • Lista: [1, 8, 'ketto', 1, 9]
  • Lista indexek 0-tól kezdõdnek, így az utolsó eleme egy n elemû listának n - 1
  • Listák 3. elemének lekérdezése, feltéve, hogy l a lista: l[2]
  • Listák hosszának lekérdezése: len(l)
  • Új elem hozzáadása: l.append('nyolc')
  • stb.

Ismétlés az elõadásról

3. elõadás

  • Szótár: {'one':1,'two':2}
  • Szótár elemének lekérdezése (d a szótár): d['one']
  • Elágazás:
if feltétel1:
    mûvelet1
elif feltétel2:
    mûvelet2
else:
    mûvelet3
  • Minden aminek igaz-hamis értéke van lehet feltétel. Pl: x > 5, vagy akár x * 6 + 16 == 15 * y + 1
  • For ciklus:
l = [4, 5, 2]
for e in l:
    print e * 2
  • Ennek az eredménye:
8
10
4
  • While ciklus:
i = 1
x = 254
while i <= x:
    if x % i == 0:
        print i
    i = i + 1
  • Ezt találjátok ki mit csinál!
  • Függvény definiálás:
def titok(x):
    i = 1
    while i <= x:
        if x % i == 0:
            print i
        i = i + 1
  • Függvény meghívása:
titok(4752)
  • Függvényeknek akárhány paramétere (bemenete) lehet, akár 0 is.
  • Nagy különbség van a kiírás és érték visszaadás közt:
def fv1(x):
    print x * x + 2 * x - 1
 
def fv2(x):
    return x * x + 2 * x - 1
 
ertek1 = fv1(5)
ertek2 = fv2(5)
  • Az ertek1 értéke None mivel a fv1 nem ad vissza semmilyen értéket, csak kiírja.
  • Az ertek2 értéke 34, mert a fv2 visszaadta azt az értéket (return) és nem kiírta
  • Függvény csak egy értéket tud visszaadni, de akárhányat ki tud írni:
def pelda():
    print 22
    return 5
    print 15
 
x = pelda()
  • A 15 nem lesz kiírva, mert a return 5 paranccsal visszatér a függvény, azaz ezt az értéket visszaadja és értékül adódik az 5 x-nek

Feladatok

Lista ismétlés

  • Készítsétek el a 2, 4, 'tizenot', 4 elemeket tartalmazó listát
  • Kérdezzétek le a méretét
  • Kérdezzétek le a 3. elemét
  • Fûzzétek a lista végére a 'negy' stringet
  • Kérdezzétek most le a 2. elemtõl utolsó elemig tartó részlistát, mentsétek ezt egy másik változóba
  • A részlistának is kérjétek le a méretét

Elágazások

Vezérlési szerkezetek (if, for, while)

  • Egészítsd ki a függvényt, hogy ha az elsõ paraméter kisebb mint a második, akkor azt a karakterláncot adja vissza, hogy "kisebb", ha nagyobb, akkor azt, hogy "nagyobb" és ha egyenlõ akkor "egyenlo"-t!
<!> hasonlit(a, b):
    if a < b:
        <!> "kisebb"
    elif a > b:
        <!> "nagyobb"
    <!>:
        <!> "egyenlo"
  • Definiálj egy Sage függvényt elojel néven, amelynek egy bemenete van (a), és a "pozitiv" karakterláncot (vagyis stringet) írja ki ha a kapott paraméter pozitív, "negativ"-at ad vissza ha a szám negatív, és "nulla"-ta ad ha nulla volt a paraméter értéke.


Listák kezelése

  • Egészítsd ki a kódot, hogy a függvény a kapott lista legkisebb elemét adja vissza:
def minimum(l):
    minelem = <!>
    <!> e in l:
        if e < <!>:
            minelem = e
    <!> minelem
  • Írj függvényt ami a kapott lista elemeinek a szummáját visszaadja. (Ne használjátok a sum beépített függvényt.)
  • Írj függvényt sokszorozo néven, amely bemenetként kap egy számot (n) és még egy paramétert, a-t (ennek a típusa bármi lehet). A függvény adjon vissza egy listát, amiben n-szer szerepel az a értéke.
    Például: sokszorozo(3, "bla") kimenete ["bla", "bla", "bla"] legyen.
  • Írj Sage függvényt amely megfordít egy bemenetként kapott listát!

Házi elõkészítés

Mentsünk el egy notebookot, hogy háziban ne legyen ezzel gond.

Személyes eszközök