Programmieren mit Python erste Schritte

Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Programmierkurs Java

Wie halte ich Ordnung auf meiner Festplatte?

Übungsaufgaben zur Programmiersprache Python

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Leichte-Sprache-Bilder

Kapitel 3 Frames Seite 1

Grundlagen der Tabellenkalkulation Die wichtigsten Funktionen im Überblick Christian Schett

Mediator 9 - Lernprogramm

3 Berechnungen und Variablen

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.

Was meinen die Leute eigentlich mit: Grexit?

Einführung in Powerpoint M. Hasler Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Bilder zum Upload verkleinern

Herzlich Willkommen bei der BITel!

1.Unterschied: Die Übungen sind nicht von deinem Mathe-Lehrer...

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Was ist Sozial-Raum-Orientierung?

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Professionelle Seminare im Bereich MS-Office

Informatik I Tutorial

Kommentartext Medien sinnvoll nutzen

Erstellen der Barcode-Etiketten:

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Kulturelle Evolution 12

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Anleitung über den Umgang mit Schildern

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Informatik 1 Tutorial

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Lernwerkstatt 9 privat- Freischaltung

Die einzige benutzte Schrift ist Arial. Die musst Du auf Deinem Mac oder PC haben.

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Comic Life 2.x. Fortbildung zum Mediencurriculum

Anmeldung boniup Portal bei bestehendem BackOffice

Internet-Wissen. Browser:

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Professionelle Seminare im Bereich MS-Office

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Das Persönliche Budget in verständlicher Sprache

mit dem TeXnicCenter von Andreas Both

Hinweise in Leichter Sprache zum Vertrag über das Betreute Wohnen

Zahlen auf einen Blick

Was ich als Bürgermeister für Lübbecke tun möchte

ltlasten in der Registrierdatenbank löschen

Computeria Solothurn

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Der Kalender im ipad

TeamSpeak3 Einrichten

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Laufwerke, Ordner, Dateien: 1. Erklärung der Begriffe

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

M03a Lernstraße für den Unterricht in Sekundarstufe I

Urlaubsregel in David

Mehrere PDF-Dokumente zu einem zusammenfügen

Windows 10 > Fragen über Fragen

Anleitung für Autoren auf sv-bofsheim.de

Datenbanken Kapitel 2

Primzahlen und RSA-Verschlüsselung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Wir arbeiten mit Zufallszahlen

Unser Bücherkatalog: Worum geht s?

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

Viele Bilder auf der FA-Homepage

Was man mit dem Computer alles machen kann

PowerPoint: Text. Text

Arbeiten mit UMLed und Delphi

Mathe-Übersicht INHALTSVERZEICHNIS

Computeria Rorschach Mit Excel Diagramme erstellen

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Datensicherung. Beschreibung der Datensicherung

Zwischenablage (Bilder, Texte,...)

1 Mathematische Grundlagen

Um die Patientenverwaltung von Sesam zu nutzen, muss man die Patienten natürlich zuerst in die Kartei eintragen.

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, jroos@hispeed.ch -

Übungen zu C++ Kapitel 1

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Nina. bei der Hörgeräte-Akustikerin. Musterexemplar

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Übungen Programmieren 1 Felix Rohrer. Übungen

Hinweise zum Übungsblatt Formatierung von Text:

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

Ordnung auf/im (Win-)PC bzw. der Festplatte

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Wie bekomme ich eine Adresse. Eva Lackinger, Rene Morwind Margot Campbell

Transkript:

Programmieren mit Python erste Schritte Bernd Grave 28. März 2007 Inhaltsverzeichnis 1 Bevor es richtig losgeht 2 1.1 Python installieren........................ 2 1.2 Texte über Python - zum Nachschlagen............ 2 1.3 Dateinamen............................ 2 2 Ein- und Ausgabe 2 2.1 Ausgabe auf dem Bildschirm.................. 2 2.2 Eingabe über die Tastatur.................... 2 3 Entscheidungen: wenn... dann... sonst... 3 4 Ausnahmen: try... except... 3 5 Was sind eigentlich Variablen? 4 5.1 Die Sache mit den Schubladen.................. 4 5.2 Zahlen und Zeichenketten ineinander umwandeln....... 6 6 Wiederholungen:... und noch einmal 7 6.1 for-schleife............................ 7 6.2 while-schleifen.......................... 7 7 Datenstrukturen 9 7.1 Wörterbücher........................... 9 7.2 Listen............................... 11 8 Funktionen 13 1

1 Bevor es richtig losgeht 1.1 Python installieren Man kann Python kostenlos aus dem Internet beziehen. Dazu geht man auf die folgende Seite: http://www.python.org/download/releases/2.5/ Als Benutzer(in) des Betriebssystems Windows muss man die Installationsdatei Python-2.5.msi herunterladen. Zur Installation startet man einfach die heruntergeladene Datei. 1.2 Texte über Python - zum Nachschlagen http://abop-german.berlios.de/ http://www.silverymoon.de/uni/python/index.html http://www.thomas-guettler.de/vortraege/python/einfuehrung.html http://www.python.org/doc/ 1.3 Dateinamen Python-Dateien sollten.py als Dateiendung besitzen. Zum Beispiel quiz.py ist ein guter Dateiname. 2 Ein- und Ausgabe 2.1 Ausgabe auf dem Bildschirm Die Anweisung print Ich heiße Otto. im Quelltext eines Programms bewirkt, dass der Satz auf den Bildschirm geschrieben wird. Dasselbe erreicht man auch mit der folgenden Anweisung. print "Ich heiße Otto." Damit auch die deutschen Sonderbuchstaben eine Chance haben, richtig angezeigt zu werden, fügt man am Anfang der Datei die folgende Zeile ein. # -*- coding: cp1252 -*- 2.2 Eingabe über die Tastatur Damit ein Computerprogramm den Benutzer nach dem Vornamen fragt, kannst du folgende Anweisung in den Quelltext des Programms schreiben. name = raw_input( Wie heißt du? ) 2

Das Programm schreibt dann die Frage Wie heißt du? auf den Bildschirm und wartet auf eine Eingabe von der Tastatur. Wenn du z.b. Michaela eingegeben und Enter gedrückt hast, speichert das Programm die Zeichenkette Michaela in der Variablen name. Das einfache = bedeutet, dass der Variablen name etwas zugeordnet wird und zwar in diesem Fall das Ergebnis der Tastatureingabe. 3 Entscheidungen: wenn... dann... sonst... if name == "Bodo": print "Hallo." else: print "Ich kenne dich nicht." Das doppelte == wird in Python für Vergleiche benutzt. Hier wird der Inhalt der Variablen name mit der Zeichenkette Bodo verglichen. Wenn in der Variablen name der Name Bodo gespeichert ist, dann macht das Programm all das, was danach eingerückt ist also in diesem Fall schreibt es Hallo. auf den Bildschirm. Anderenfalls macht das Programm all das, was hinter else: eingerückt ist. Achtung: Eine Zeile mit if und eine Zeile mit else müssen immer mit einem Doppelpunkt enden. Aufgaben 1. Schreibe ein Programm, dass den Computer dazu veranlasst folgendes zu tun: Der Computer fragt dich erst einmal nach deinem Namen. Wenn du deinen Vornamen eingegeben hast, dann reagiert der Computer und schreibt Hallo. wie geht es dir?. Wenn du einen anderen Namen eingegeben hast, dann reagiert der Computer und schreibt Ich kenne dich nicht. Dies ist nicht dein Computer. 2. Programmiere ein kleines Quiz. Dabei soll das Programm die Fragen stellen und auch erkennen, ob die eingegebene Antwort richtig oder falsch ist und entsprechend reagieren. 4 Ausnahmen: try... except... Ihr kennt die Situation, dass ein Programm fehlerhaft ist und irgendwann abgebrochen wird. Dann erscheinen normalerweise ein paar mehr oder weniger kryptische Zeilen in roter Farbe in dem Fenster, wo eigentlich das Programm ausgeführt werden sollte. Das ist die Standardbehandlung für Laufzeitfehler. Das sind Fehler, die erst beim Ausführen auftreten. Das kann man auch ändern. Hier das vermutlich meistgebrauchte Beispiel: 3

while True: try: eingabe = raw_input("eine Zahl eingeben: ") zahl = int(eingabe) break except ValueError: print "Bitte eine ganze Zahl eingeben." while True: heißt soviel wie, solange die Welt nicht untergegangen ist, wiederhole das was danach eingerückt ist. Wenn in dem nach try: eingerückten Block ein Fehler von der Art ValueError auftritt, dann wird das Programm nicht abgebrochen, sondern der eingerückte Block nach except wird ausgeführt. Damit nicht immer wieder nach einer Zahl gefragt wird schließlich befinden wir uns in einer Endlosschleife, muss das Programm nach erfolgreicher Umwandlung in eine Zahl aus der Schleife ausbrechen. Das geschieht durch break. Noch ein anderes Beispiel ohne Endlosschleife und break. # -*- coding: cp1252 -*- fehler = 0 eingabe = raw_input( Geben Sie eine Zahl zwischen 113 und 254 ein. ) try: zahl = int(eingabe) except: fehler = 1 if fehler==1: print Das war keine Zahl. else: if zahl > 113 and zahl < 254: print Danke. else: print Du solltest noch mal zählen üben. Hier wird im Fall einer falschen Eingabe nur die Variable fehler auf den Wert 1 gesetzt. Dann geht das Programm normal weiter. Die Ausgabe von Das war keine Zahl. passiert im ganz normalen Programmablauf. Am besten probierst du beide Programme aus. 5 Was sind eigentlich Variablen? 5.1 Die Sache mit den Schubladen Im Abschnitt 2.2 war schon von einer Variablen die Rede. Wenn zum Beispiel etwas über die Tastatur eingegeben wird, dann soll sich das gerade laufende Computerprogramm die Eingabe vielleicht merken. Dazu muss es 4

die Eingabe irgendwo ablegen, so dass sie jederzeit wiedergefunden werden kann. Genau das passiert in der folgenden Zeile. buchtitel = raw_input( Titel deines Lieblingsbuches: ) Der Computer bewahrt alles, was über die Tastatur eingegeben wird, in einer Schublade mit der Aufschrift buchtitel auf. Genauer gesagt: Alles was eingegeben wird, nachdem das Programm bei der obigen Zeile angekommen ist und solange noch nicht die Enter-Taste gedrückt wurde, landet in der buchtitel-schublade. Statt Schublade spricht man in der Informatik von Variablen. Wenn man etwas Neues in eine Informatik-Schublade legt, wird automatisch alles, was bislang darin war entsorgt. Oben ist ein Beispiel angeführt, wie man den Programm-Benutzer dazu auffordern kann, etwas in die Schublade zu legen. In der Informatik würde man eher sagen etwas in der Variablen speichern. (In der Mathematik sagt man etwas in eine Variable einsetzen.) Man kann auch direkt das Programm damit beauftragen, etwas in einer Variablen zu speichern. Zuerst kommt die Variable, in der etwas gespeichert werden soll, dann ein Gleichheitszeichen und schließlich der Wert, der in der Variablen gespeichert werden soll. buchtitel = Lord of the rings name = "Otto" lieblingszahl = 17 pi = 3.1415926 a = 5 Hier sieht man auch schon, dass es unterschiedliche Dinge gibt, die man in Variablen speichern kann. In der Variablen buchtitel wird die Zeichenkette Lord of the rings gespeichert. Damit das Programm weiß, wo die Zeichenkette anfängt und wo sie aufhört, muss man Anführungszeichen setzen. In der Variablen lieblingszahl wird die Zahl 17 gespeichert. Wenn das Programm den Inhalt einer Schublade wieder ans Licht zerren soll, muss man dem Programm nur sagen, in welcher Schublade es nachschauen soll. print buchtitel, ist mein Lieblingsbuch. print lieblingszahl Wenn das Programm rechnen soll, dann passiert oft beides in einem Befehl: der Computer schaut in einer oder mehreren Schubladen nach und legt das Ergebnis in eine Schublade hinein. neue_zahl = 3*lieblingszahl print a a = a+1 print a 5

In der ersten Zeile wird die Variable lieblingszahl gelesen, der Wert mit drei multipliziert und das Ergebnis wird in der Variablen neue_zahl gespeichert. Die Zeile a=a+1 sieht für einen Mathematiker erst einmal abenteuerlich aus. Die beiden Seiten der Gleichung sind bestimmt nicht gleich. Es handelt sich dabei auch gar nicht um eine Gleichung sondern um eine Zuweisung: Die Schublade a wird geöffnet, die darin enthaltene Zahl wird herausgenommen und um eins erhöht. Das Ergebnis kommt dann wieder in die selbe Schublade a. (Bitte ausprobieren.) 5.2 Zahlen und Zeichenketten ineinander umwandeln Oft ist es nötig, Zeichenketten in Zahlen zu verwandeln. Stell dir ein Computerspiel vor, das nur für Kinder interessant ist. Das Computerprogramm möchte Jugendliche ab 16 Jahre warnen, dass sie wahrscheinlich schon zu groß für das Spiel sind. alter = raw_input( Wie alt bist du? ) if alter >= 16: print Du bist schon zu groß für dieses Kinderspiel. In diesem kleinen Programmstück ist ein Fehler versteckt. Eine Eingabe mit raw_input() liefert immer eine Zeichenkette. In diesem Beispiel sollte in der Variablen alter allerdings eine Zahl enthalten sein - und zwar höchst wahrscheinlich eine ganze Zahl (engl.: integer). Also muss man die Zeichenkette, die von der Tastatur kommt, in eine Zahl umwandeln. Das kann man auf verschiedene Weise machen. Man kann die Zeichenkette (engl.: string) von der Tastatur erst einmal in einer Variablen speichern und danach in eine Zahl verwandeln. alter_str = raw_input( Wie alt bist du? ) alter = int(alter_str) if alter >= 16: print Du bist schon zu groß für dieses Kinderspiel. Hat der Anwender des Programms beispielsweise die Tasten 1 7 Enter gedrückt, dann ist, nachdem das Programm gelaufen ist, in der Variablen alter_str die Zeichenkette 17 und in der Variablen alter die Zahl 17 enthalten. Wenn man sich Tipparbeit sparen will und ganz sicher ist, dass man die Zeichenkette später sowieso nicht mehr braucht, kann man die ersten beiden Zeilen zu einer zusammenfassen. alter = int(raw_input( Wie alt bist du? )) if alter >= 16: print Du bist schon zu groß für dieses Kinderspiel. 6

Frage: Warum stehen am Ende der Eingabezeile zwei schließende Klammern? Wir halten fest, dass mit a=int(b) die Zeichenkette aus der Schublade b gelesen, in eine Zahl umgewandelt und dann das Ergebnis in der Variablen a gespeichert wird. Hätte irgendein Scherzkeks als Alter 16.5 eingegeben, dann wäre die Funktion int() überfordert. Denn 16.5 ist keine ganze Zahl. Das Programm wäre mit einer Fehlermeldung abgebrochen worden. Kein Problem: Wir ersetzen einfach int() durch float(). Bei dieser Gelegenheit, gleich noch ein wichtiger Hinweis: Die Vor- und die Nachkommastellen werden nicht durch ein Komma, sondern durch einen Punkt getrennt. Manchmal braucht man auch die umgekehrte Verwandlung einer Zahl in eine Zeichenkette. Dafür gibt es zwei Funktionen: ziffernfolge = str(16.5) ziffernfolge = repr(16.5) 6 Wiederholungen:... und noch einmal 6.1 for-schleife So wie man einen Buttler darum bitten könnte, jedes Porzelanteil in einem bestimmten Schrank zu putzen, so kann man auch den Computer dazu auffordern, etwas für jedes Element einer Liste zu tun. Die Liste der Zahlen 0, 1, 2, 3, 4, 5, 6 heißt in Python [0,1,2,3,4,5,6] oder range(7). Diese Liste enthält also 7 Elemente. Damit sollte auch klar sein, was mit range(24) gemeint ist. Die Liste [ Sonne, Mond, Sterne ] besteht nicht aus Zahlen, sondern aus Zeichenketten. Sie enthält drei Elemente. Die Bedeutung und den Gebrauch der for-schleife erschließt du dir am besten, indem du das folgende Programm anschaust. for i in range(7): print i for w in [ Sonne, Mond, Sterne ]: print w Achtung: Hinter der Liste muss immer ein Doppelpunkt stehen. Die Befehle, die für alle Elemente der Liste durchgegangen werden sollen, müssen eingerückt sein. 6.2 while-schleifen Es gibt auch Wiederholungen, die so lange ausgeführt werden sollen, bis eine Bedingung erfüllt ist. Solche Schleifen programmiert man in Python mit der Anweisung while. 7

print Wie heißt die Hauptstadt von Frankreich? antwort = raw_input( dein Tipp: ) while antwort!= Paris : print Die Antwort war falsch. antwort = raw_input( neuer Tipp: ) print Richtig. Die Zeile mit while könnte man umgangssprachlich etwa so übersetzen: Solange die Antwort nicht richtig ist, tue folgendes: Die beiden eingerückten Zeilen werde so oft wiederholt, bis jemand auf die Idee kommt, Paris einzugeben. Wenn man Bedingungen formulieren will, muss man vor allen Dingen vergleichen können. Deshalb hier eine kleine Tabelle mit Vergleichsoperatoren in Python. Aufgaben Python-Operator Bedeutung Beispiel == gleich name == Sophie!= ungleich antwort!= Paris <= kleiner oder gleich zahl <= 10 >= größer oder gleich zahl1 >= zahl2 < kleiner a < 7 > größer x > 1.9 1. Schreibe ein Programm, dass folgendes auf den Bildschirm schreibt. 0 6 12 18 24 30 36 42 48 54 60 2. Schreibe ein Programm, dass die Namen der Planeten unseres Sonnensystems untereinander auf den Bildschirm schreibt. Verwende dazu eine Schleife. 3. Schreibe ein Programm, dass 13 mal Viel Glück! wünscht. 8

4. Überlege, was das folgende Programm für eine Ausgabe auf dem Bildschirm erzeugt. Prüfe, ob du richtig gelegen hast, indem du das Programm mit Python ausführst. for i in range(10): print i, * 17 =, i*17 5. Schreibe ein Programm, dass alle Multiplikationen des kleinen Einmal-eins auf dem Bildschirm ausgibt. 6. Schreibe ein Programm, dass die Summe der ganzen Zahlen von 1 bis 123 berechnet. 7. Denke dir selber ein kleiens Programm aus, in dem eine for-schleife vorkommt. 8. Schreibe ein Programm, dass immer wieder eine Tastatureingabe erwartet und einliest, bis Ende eingetippt wird. 9. Überlege, was das folgende Programm für eine Ausgabe erzeugt. Führe das Programm aus. Finde heraus, was len(...) bedeutet. namensliste = [ Peter, Susanne, Anne, Hans, Tanja ] for text in namensliste: print Der Name, text, print besteht aus, len(text), Buchstaben. 10. Schreibe ein Programm, dass immer wieder die Eingabe eines Wortes mit 5 Buchstaben fordert und erst Ruhe gibt, wenn es eine Eingabe aus 5 Zeichen bekommen hat. 7 Datenstrukturen 7.1 Wörterbücher Hier ein paar kleine Beispiele für Wörterbücher. englisch_deutsch = { Haus : house, Wohnung : flat, eben : flat, Küche : kitchen } telefonbuch = { Hans K. : 0511 1596374, Ina Z. : 0551 35674, Andreas M. : 05494 69753, Kerstin D. : 030 296749253 } 9

# im Katalog steht jeweils die Artikelnummer und der Preis in Euro katalog = { LX 450678 : 34.95, LC 450679 : 39.95, LT 300401 : 119.00 } In einem Wörterbuch kann hinter dem Doppelpunkt mehrmals das gleiche stehen. Vor dem Doppelpunkt darf das nicht sein. Das erste Wörterbuch wäre also umgekehrt mit den englischen Wörtern an erster Stelle nicht erlaubt, weil zweimal flat vorkommt. Das was vor dem Doppelpunkt steht heißt Schlüssel. Der Eintrag hinter dem Doppelpunkt wird Wert genannt. In allen Beispielen hier sind die Schlüssel Zeichenketten. Man kann aber auch Zahlen als Schlüssel verwenden. Benutzung von Wörterbüchern Eintrag ändern, Eintrag zu einem Wörterbuch hinzufügen: englisch_deutsch[ Wohnzimmer ] = living room telefonbuch[ Rolf Z. ] = 0251 4598349 Wenn es vorher schon einen Rolf Z. im Wörterbuch gab, wird kein zweiter hinzugefügt, sondern die Nummer geändert. Eintrag aus einem Wörterbuch löschen: del katalog[ LT 300401 ] im Wörterbuch nachschlagen - mit dem Schlüssel auf den Wert zugreifen: print Die Telefonnummer von Ina ist, telefonbuch[ Ina Z. ] Auf diese Weise kann man nur zu dem was vor dem Doppelpunkt steht auf das was hinter dem Doppelpunkt steht zugreifen. Nicht umgekehrt. überprüfen, ob ein Eintrag im Wörterbuch steht: if Felix S. in telefonbuch: print Die Telefonnummer von Felix S. lautet, print telefonbuch[ Felix S. ] 10

7.2 Listen... kommen in jeder for-anweisung vor. Dir sind schon Listen begegnet. Zum Beispiel [0,1,2,3,4,5,6,7,8,9] und [ Sonne, Mond, Milchstraße ]. Für die erste Liste kann man auch range(10) schreiben. Listen kommen aber auch noch an anderen Stellen vor. In anderen Programmiersprachen wird eine Liste oft mit dem englischen Wort Array bezeichnet. In Listen dürfen auch verschiedenartige Dinge stehen. Beispiel: [ Mozart,1756,1791, Musiker, Salzburg ] Wenn man mit einer Liste arbeiten will, dann braucht die Liste einen Namen. Beispiel: # planeten - Liste (enthält Planeten des Sonnensystems) planeten = [ Merkur, Venus, Erde, Mars ] Um auf das zweite Element aus der Liste zuzugreifen und es auf den Bildschirm auszugeben, schreiben man folgende Zeile ins Programm: print planeten[1] Wie unschwer zu erraten ist, hat das erste Element einer Liste also die Nummer 0. Achtung: Das ist der Grund, weshalb man sich schnell einmal um eins verzählt. Um in der Liste Mars durch Milky Way zu ersetzen, geht man so vor: planeten[3] = Milky Way Benutzung von Listen Wie man mit Listen umgeht, kann man sehr gut dem folgenden Programm entnehmen. Es stammt aus der Python-Einführung A Byte of Python. einkaufsliste = [ Aepfel, Mangos, Karotten, Bananen ] print Ich habe, len(einkaufsliste), Dinge einzukaufen. print Diese Dinge sind:, # Beachte das Komma am Zeilenende for ding in einkaufsliste: print ding, print \nich muss auch Reis einkaufen. einkaufsliste.append( Reis ) print Meine Einkaufsliste ist jetzt, einkaufsliste print Jetzt werde ich meine Einkaufsliste sortieren. einkaufsliste.sort() 11

print Die sortierte Einkaufsliste ist, einkaufsliste print Zuerst werde ich, einkaufsliste[0], kaufen. altesding = einkaufsliste[0] del einkaufsliste[0] print Ich habe, altesding, gekauft. print Meine Einkaufsliste ist jetzt, einkaufsliste Aufgabe zum besseren Verständnis von range() a) Kopiere die folgenden Zeilen in ein Python-Programm und führe es aus. print range(17) print range(5,17) print range(-5,17) print range(3,20) print range(3,20,2) print range(20,3,-1) b) Probiere selbst verschiedene Werte aus. Überlege zuerst, was du erwartest und überprüfe dann, ob du richtig liegst. c) Formuliere drei Regeln, die genau erklären, welche Listen von den Befehlen range(a), range(a, b), range(a, b, c) erzeugt werden. Die Buchstaben a, b, c stehen dabei für beliebige ganze Zahlen. d) Erzeuge mit range() eine Liste für einen Countdown. e) Erzeuge mit range() die Liste der positiven geraden Zahlen bis einschließlich 100. 12

8 Funktionen Hier ist noch einmal ein Quiz. # -*- coding: cp1252 -*- # Variablen # # antwort - Zeichenkette (zum Speichern der Tastatureingabe) print Informatik-Quiz\n print Wonach ist die Computersprache Python benannt? print a) nach einer Schlange print b) nach einer Komikergruppe print c) nach einer Sportart print d) nach einem Land antwort = raw_input( Bitte geben Sie den Buchstaben der Lösung ein. ) if antwort == b : print Richtig. else: print Falsch. print Welches ist die Amtssprache auf der Insel Java? print a) Chinesisch print b) Java print c) Javanisch print d) Indonesisch antwort = raw_input( Bitte geben Sie den Buchstaben der Lösung ein. ) if antwort == d : print Richtig. else: print Falsch.... Nach jeder Frage wird der Benutzer auf die gleiche Art zu einer Eingabe aufgefordert und immer bekommt er Richtig. oder Falsch. als Antwort. Spätestens nach der dritten Frage tippt man das nicht noch einmal ein, sondern benutzt die Tastenkombinationen Strg + C zum Kopieren und Strg + V zum Einfügen. Dann muss man nur noch den richtigen Buchstaben anpassen. Aber auch das ist nicht die eleganteste Lösung. Am Besten bringt man dem Programm ein für alle Mal bei, was er in dem Abschnitt tun soll, den wir 13

mit cut and paste sonst an viele Stellen ins Programm einfügen würden. Und das geht so: # -*- coding: cp1252 -*- # Variablen # # antwort - Zeichenkette (zum Speichern der Tastatureingabe) # lsg - Zeichenkette (um der Auswertung zu sagen, welche Antwort richtig ist) print Informatik-Quiz\n def auswertung(lsg): antwort = raw_input( Bitte geben Sie den Buchstaben der Lösung ein. ) if antwort == lsg: print Richtig. else: print Falsch. print Wonach ist die Computersprache Python benannt? print a) nach einer Schlange print b) nach einer Komikergruppe print c) nach einer Sportart print d) nach einem Land auswertung( b ) print Welches ist die Amtssprache auf der Insel Java? print a) Chinesisch print b) Java print c) Javanisch print d) Indonesisch auswertung( d )... Wir geben dem ausgelagerten Block zur Eingabe und Auswertung der Lösung einen Namen. In unserem Beispiel auswertung. Diesen Namen schreiben wir hinter den Befehl def, mit dem man sogenannte Funktionen definiert. In Pascal sagt man nicht Funktionen sondern Prozeduren. In Java und anderen vorwiegend objektorientierten Sprachen spricht man gerne von Methoden. In jedem Fall ist ein Block gemeint, dem man einen Namen gibt, so dass man immer wieder darauf zurückgreifen kann. Unsere Funktion ist gleich ein hochentwickeltes Exemplar seiner Gattung. Wir müssen ihr den Lösungsbuchstaben mitteilen, damit sie richtig arbeiten 14

kann. In der Funktion selbst steht dort, wo vorher der Lösungsbuchstabe stand, die Variable lsg. In ihr wird der gerade gültige Lösungsbuchstabe gespeichert. Ein großer Vorteil von Funktionen ist, dass man eine Änderung nur einmal vornehmen muss. Beispiele: Nach der Antwort Richtig. oder Falsch. soll noch eine Leerzeile eingefügt werden, damit die einzelnen Fragen besser voneinander getrennt sind. Die Antwort Falsch. soll durch das höflichere Leider falsch. ersetzt werden. Stell dir vor, dass Quiz hätte 50 Fragen und du müsstest 50 Mal die Antwort ändern. Und weil Funktionen so wichtig sind noch einige Beispiel. # -*- coding: cp1252 -*- # Oberfl_Zylinder berechnet die Oberfläche eines Zylinders # aus dem Radius und der Höhe. Ergebnis: float def Oberfl_Zylinder(r,h): return 3.1415926 * r * r * h print Wäre eine Coladose 10cm hoch, print und hätte sie einen Durchmesser von 8 cm, print dann würden, Oberfl_Zylinder(4,10), ml Cola hineinpassen. 15