Informatika 1

3. előadás

2013

Pálovics Róbert

Összetett típusok

  • str karakterlánc (string) 'alma'
  • list lista [2,y,'bb']
  • tuple (2,x,'aa')
  • set halmaz set(['a','c'])
  • dict szótár (kulcs:érték) dict({'one':1,'two':2})

szótár vs. lista

Szótár vs. Lista

Közvetlen elérés vs. kulcs szerinti keresés

Listák

  • sage: L1 = [pi, 'abc', 35, pi, 12]
  • sage: L1[2] (számozás 0-tól!)
    35
  • sage: L1[1:4]
    ['abc', 35, pi]
  • sage: L2 = range(5)
    sage: L2
    [0, 1, 2, 3, 4]
  • sage: len(L2)
    5
  • sage: L2[1] = 'egy'
    sage: L2
    [0, 'egy', 2, 3, 4]

Szótárak

  • D = {'one':1, 'two':2, 'three':3}
  • D = dict({'one':1, 'two':2, 'three':3})
  • Kulcshoz tartozó érték lekérdezése:
  • D['one']
    1
  • sage: D.keys()
    ['three', 'two', 'one']
  • Megkérdezhetjük, hogy valami benne van-e a szótárban:
  • sage: 'two' in D
    True

Néhány további fogalom bevezetése

  • Vezérlési szerkezetek
  • Operátorok
  • Kulcsszavak
  • Utasítások, blokkok
  • Függvény vs. metódus

def k(x):
if x%1O == 0:
return '0-ra végződik'
elif x%5 == 0:
return '5-re végződik'
elif x%2 == 0:
return 'Nem 0-ra végződő páros'
else:
return 'Nem 5-re végződő páratlan'

Vezérlési szerkezetek

  • Elágazás: Akkor használunk elágazást, ha valamilyen feltételtől függően a programnak az adott helyzetben mást és mást kell elvégeznie.
    • if - else
    • (elif)
  • Ciklus: egy programrész valamilyen feltételtől függően többször egymás után hajtódik végre. A feltételt ciklusfeltételnek, a részt a ciklus magjának hívjuk.
    • for
    • while

if - else - elif

if x%1O == 0:
return '0-ra végződik'
else:
return 'Nem végződik nullára'

if - else - elif

if x%1O == 0:
return '0-ra végződik'
elif x%5 == 0:
return '5-re végződik'
elif x%2 == 0:
return 'Nem 0-ra végződő páros'
else:
return 'Nem 5-re végződő páratlan'

while

x = 30
while x > 15:
x = x-3
print x

for ciklus

x=0

for x in range(4):
x=x+1

Függvények

def rendez (L):

return ...

K=[1,5,3,4]

rendez(K)

Rendezés (Selection sort)

2 ciklusra lesz szükségünk

Rendezés (Selection sort)

for i = 0 to numItems - 1
for j = i+1 to numItems
if A[i] > A[j]
Temp = A[i]
A[i] = A[j]
A[j] = Temp
End If
Next j

Rendezés (Selection Sort)

def rendez(L):

for i in range(len(L)-1):

for j in range(i+1,len(L)):

if L[i]>L[j]:

b=L[j]

L[j]=L[i]

L[i]=b

Info1_3 - Google Slides