Informatika2-2013/Gyakorlat08
A MathWikiből
(Változatok közti eltérés)
23. sor: | 23. sor: | ||
print l[2:5] | print l[2:5] | ||
</python> | </python> | ||
+ | * Észrevételek: | ||
** Változókat nem kell deklarálni, mint ahogy C-ben kellett (nem kell int b, ahhoz hogy használhassam b-t) | ** 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 | ** Listák szintén 0-tól indexelendõk | ||
35. sor: | 36. sor: | ||
print d["korte"] | print d["korte"] | ||
</python> | </python> | ||
+ | * Észrevételek: | ||
** Stringek és tuple-ök megváltoztathatatlanok, tehát nem írhatom, hogy t[0] = 7, vagy s[2] = 'c', de írhatom, hogy s = "Valami mas" | ** 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 | ** 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 | ||
48. sor: | 50. sor: | ||
"korte" in d # True | "korte" in d # True | ||
</python> | </python> | ||
+ | * Észrevételek: | ||
** range függvénnyel megkapjuk az adott hosszú tömb indexeinek a listáját | ** 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) | ** len függvény visszaadja a megadott lista hosszát (ilyen ugye C-ben nem volt) | ||
76. sor: | 79. sor: | ||
# 0 1 8 27 64 | # 0 1 8 27 64 | ||
</python> | </python> | ||
+ | * Észrevételek: | ||
** Nem kellenek zárójelek a feltételek köré | ** 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 | ** A vezérlési szerkezet feje után (a blokk kezdete jelzéseként) kettõspont kell |
A lap 2013. április 2., 04:24-kori változata
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]
- Észrevételek:
- 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"]
- Észrevételek:
- 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
- Észrevételek:
- 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
- Észrevételek:
- 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