Informatika2-2013/Gyakorlat08

A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2013. április 2., 03: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
Személyes eszközök