Informatika2-2013/Gyakorlat08
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2013. április 2., 04:23-kor történt szerkesztése után volt.
Sage/Python Ismétlés
- Mûveletek mint C-ben, ami itt még pluszban van: ** (hatványozás)
- Függvényeknek nem kell visszatérési értéket adni:
def fv_neve(x, y): return x + y fv_neve(2, 10)
- Több dologra is emlékeztet az elõzõ 2 sor kód:
- Általában nem kell változóknak a típusát megadnunk
- A def kulcsszóval tudunk függvényt definiálni
- Fontos a formázás, itt nincs kapcsos zárójel, a szóközök jelzik, hogy melyik blokkon belül vagyunk (itt a return a def-en belül van, de a függvényhívás már nem)
- Nincs pontosvesszõ, így értelemszerûen a sortörés számít
- függvényhívás mint C-ben.
- Tömbök helyett vannak listáink, melyek hasonlóan mûködnek:
l = [4, 5, 7, 8, 9, 4, 6] b = l[1] + l[0] l[2] = 8 print l[2:5]
- Változókat nem kell deklarálni, mint ahogy C-ben kellett (nem kell int b, ahhoz hogy használhassam b-t)
- Listák szintén 0-tól indexelendõk
- Részlistát lekérhetünk a fenti módon
- print-el tudunk írni a kimenetre (terminálba a mi esetünkben)
- További adatszerkezetek:
s = "The quick brown fox jumps over the lazy dog." # string t = (4, 5) # tuple d = {"alma":6, "korte":8, "banan":24} # dictionary print d["korte"]
- Stringek és tuple-ök megváltoztathatatlanok, tehát nem írhatom, hogy t[0] = 7, vagy s[2] = 'c', de írhatom, hogy s = "Valami mas"
- Dictionary, azaz szótárak nem 0-tól n-ig indexelnek, hanem valamilyen kulcs szerint indexelnek, új elemet könnyû rakni hozzájuk pl: d["eper"] = 34
- Kommenteket a # jellel írhatunk, a sor végéig hatnak, több soros kommentet pl a """Tobbsoros""" módon lehet
- Beépített függvények az adatszerkezeteken:
l = range(5) # [0, 1, 2, 3 ,4] len(l) # 5 d = {"alma":6, "korte":8, "banan":24} d.keys() # ["alma", "korte", "banan"] d.values() # [6, 8, 24] "korte" in d # True
- range függvénnyel megkapjuk az adott hosszú tömb indexeinek a listáját
- len függvény visszaadja a megadott lista hosszát (ilyen ugye C-ben nem volt)
- szótár függvények magukért beszélne
- Vezérlési szerkezetek:
x = 6 y = 43 if y > 21: print "y nagyobb" elif y == 21: print "y egyenlo" else: print "y kisebb" l = [5, 4, 6, 2] for i in l: print i ** 2 # 25 16 36 4 for i in range(len(l)): print l[i] ** 2 # 25 16 36 4 i = 0 while i < 5: print i ** 3 # 0 1 8 27 64
- Nem kellenek zárójelek a feltételek köré
- A vezérlési szerkezet feje után (a blokk kezdete jelzéseként) kettõspont kell
- Van elif
- A for ciklus nem úgy megy mint C-ben, itt egy listán halad végig a ciklusváltozóval
- A range függvény segíthet a listaindexeken való haladáson, így már inkább C szerû for-t kapunk
- A while ciklus mint C-ben