24.02.2014 Aufrufe

4 in 1 - Medieninformatik - Hochschule RheinMain

4 in 1 - Medieninformatik - Hochschule RheinMain

4 in 1 - Medieninformatik - Hochschule RheinMain

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Programmieren <strong>in</strong> Python<br />

Kontrollstrukturen<br />

Programmieren <strong>in</strong> Python<br />

Kontrollstrukturen<br />

Kontrollstrukturen – while-Schleife<br />

Kontrollstrukturen – for-Schleife<br />

while-Schleife<br />

• Schlüsselwörter: while, else, break,<br />

cont<strong>in</strong>ue, pass<br />

• else-Zweig nur, wenn Schleife ohne<br />

break verlassen wurde<br />

• pass, leere Anweisung, macht nichts,<br />

Ersatz für {}<br />

Syntax<br />

• Wieder E<strong>in</strong>rücken als <strong>in</strong>tegraler<br />

Bestandteil der Schleifensyntax<br />

while :<br />

<br />

[else:<br />

]<br />

1 lis = [1, 2, 3, 4]<br />

2 while lis:<br />

3 pr<strong>in</strong>t lis.pop()<br />

4 else:<br />

5 pr<strong>in</strong>t "Ende"<br />

for-Schleife<br />

• Schlüsselwörter: for, <strong>in</strong>, break,<br />

cont<strong>in</strong>ue, pass<br />

• Iterieren über Elemente <strong>in</strong> Sequenzen<br />

• <strong>in</strong> wählt Elemente aus Sequenz<br />

sukzessive aus und weist sie je<br />

Durchlauf der Variable zu<br />

• Klassische Schleife über Indexe nur<br />

nach als Nachbau mit range<br />

range<br />

for <strong>in</strong> :<br />

<br />

[else:<br />

]<br />

1 for ele <strong>in</strong> ["Hallo", "Welt"]:<br />

2 pr<strong>in</strong>t ele<br />

3 for idx <strong>in</strong> range(1, 4):<br />

4 pr<strong>in</strong>t idx<br />

5 for ch <strong>in</strong> "Hi":<br />

6 pr<strong>in</strong>t ch<br />

4<br />

3<br />

2<br />

1<br />

Ende<br />

• range(von, bis, step)<br />

• Erzeugt e<strong>in</strong>e Liste von Zahlen von<br />

<strong>in</strong>klusive, bis exklusive<br />

• von optional, default 0<br />

• step optional, default 1<br />

Hallo<br />

Welt<br />

1<br />

2<br />

3<br />

H<br />

i<br />

Prof. Dr. Peter Barth (HS-Rhe<strong>in</strong>Ma<strong>in</strong>) Programmieren 3 29. Januar 2013 165 / 326<br />

Prof. Dr. Peter Barth (HS-Rhe<strong>in</strong>Ma<strong>in</strong>) Programmieren 3 29. Januar 2013 166 / 326<br />

Programmieren <strong>in</strong> Python<br />

Kontrollstrukturen<br />

Programmieren <strong>in</strong> Python<br />

Kontrollstrukturen<br />

Kontrollstrukturen – for-Schleife, Dictionaries<br />

Kontrollstrukturen – for-Schleife, typischer E<strong>in</strong>satz<br />

for-Schleife und Dictionaries<br />

• Fragt Objekte, ob sie auch e<strong>in</strong>e<br />

Sequenz se<strong>in</strong> können<br />

• Das Dictionary sagt, ja, dann b<strong>in</strong> ich<br />

e<strong>in</strong>e Sequenz der Schlüssel<br />

• Dann wird über die Schlüssel iteriert<br />

Auch nett mit items und Tupelzuweisung<br />

1 dic = { 1: ’e<strong>in</strong>s’, 2: ’zwei’ }<br />

2 for key <strong>in</strong> dic: # wie dic.keys()<br />

3 pr<strong>in</strong>t key, dic[key]<br />

1 e<strong>in</strong>s<br />

2 zwei<br />

1 dic = { 1: ’e<strong>in</strong>s’, 2: ’zwei’ }<br />

2 pr<strong>in</strong>t dic.items()<br />

3 for key, value <strong>in</strong> dic.items():<br />

4 pr<strong>in</strong>t key, value<br />

[(1, ’e<strong>in</strong>s’), (2, ’zwei’)]<br />

1 e<strong>in</strong>s<br />

2 zwei<br />

Klassische for-Schleife<br />

• Durchlaufen von Index-Werten<br />

• Sequenz von Index-Werten, mit range<br />

erzeugt<br />

• Selten benötigt<br />

• Java/C Idiom, weniger Python<br />

Feldzugriff vermeiden<br />

• Ke<strong>in</strong>e expliziten Indexvariablen<br />

• Eleganter<br />

• Ke<strong>in</strong> Indexfehler möglich!<br />

• Funktioniert für alle Sequenzen<br />

1 for idx <strong>in</strong> range(100): # 0-99 <strong>in</strong> Python<br />

2 pr<strong>in</strong>t idx<br />

1 // 0-99 <strong>in</strong> Java<br />

2 for(<strong>in</strong>t i=0; i < 100; i+=1) {<br />

3 System.out.pr<strong>in</strong>tln(idx);<br />

4 }<br />

1 for ele <strong>in</strong> arr: # Feldzugriff <strong>in</strong> Python<br />

2 pr<strong>in</strong>t ele<br />

1 // Feldzugriff <strong>in</strong> Java<br />

2 for(<strong>in</strong>t i=0; i < arr.length; i+=1) {<br />

3 System.out.pr<strong>in</strong>tln(arr[i]);<br />

4 }<br />

1 for e <strong>in</strong> (0, 1, 2, 3): # alle Sequenzen<br />

2 pr<strong>in</strong>t e<br />

Prof. Dr. Peter Barth (HS-Rhe<strong>in</strong>Ma<strong>in</strong>) Programmieren 3 29. Januar 2013 167 / 326<br />

Prof. Dr. Peter Barth (HS-Rhe<strong>in</strong>Ma<strong>in</strong>) Programmieren 3 29. Januar 2013 168 / 326

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!