1 of 15

Informatika 1

3. előadás

2013

Pálovics Róbert

2 of 15

Ö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

3 of 15

Szótár vs. Lista

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

4 of 15

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]

5 of 15

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

6 of 15

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'

7 of 15

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

8 of 15

if - else - elif

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

9 of 15

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'

10 of 15

while

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

11 of 15

for ciklus

x=0

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

12 of 15

Függvények

def rendez (L):

return ...

K=[1,5,3,4]

rendez(K)

13 of 15

Rendezés (Selection sort)

2 ciklusra lesz szükségünk

14 of 15

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

15 of 15

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