Einführung in den Umgang mit Python Was ist Python • • • • • • interpretierte, interaktive, objektorientierte Scriptsprache ,,a stand-alone rapid development tool`` ,,a next-generation extention language`` eine frei verfügbare Sprache (Freeware) portabel (Versionen für UNIX, Windows, Mac, Linux, ... verfügbar) offene Struktur durch Standard-Schnittstellen (CORBA, OLE, ...) Entwicklungsgeschichte von Python • • • • • • Entwickelt von Guido van Rossum um 1990 in Amsterdamm benannt nach der Serie ,,Monty Python's Flying Circus`` Ziel: Entwurf einer Scriptsprache für Betriebssystem Amoebia Anforderung: gute Erweiterbarkeit der Programmiersprache und der Programme erstmalig 1991 veröffentlicht Entwicklung wird über Internet koordiniert Python als Taschenrechner nutzen Man ruft über Startmenü->Programme->Programmieren->Python …-> IDLE (Python GUI) die Entwicklungsumgebung für >Python auf. Kleinere Berechnungen können sofort auf dieser Oberfläche durchführt werden, d.h. es müssen keine vollständigen Programme geschrieben werden. Ü01: Ermitteln Sie mit IDLE von Python die folgenden Ergebnisse: a) 13 – 5 * 2 +12 / 6 b) 7 / 2 – 5 / 4 c) (12 – 5 * 2) / 4 d) (1 / 2 -1 / 4 + (4 + 3) / 8) * 2 e) (1.0 / 2.0 -1 / 4 + (4 + 3) / 8.0) * 2.0 Raten Sie erst das Ergebnis und versuchen Sie eine Erklärung zu finden, falls Abweichungen von Ihrer Erwartung vorhanden sind. Variablem nutzen Obige Aufgaben wurden nur mit Zahlen durchgeführt. In Python kann man, wie in jeder Programmiersprache mit Variablen und Konstanten (ähnlich wie in der Mathematik arbeiten. Z.B. bedeutet x = 3, dass die Variable mit dem Namen x den Wert 3 (eine ganze Zahl) erhält. 3*x : Es wird der Wert von x mit 3 multipliziert und in der Shell ausgegeben. Probieren Sie es aus! Die Namen für Variablen sind mit gewissen Einschränkungen frei wählbar( sie müssen mit einem Buchstaben beginnen, können Ziffern enthalten, Groß- und Kleinschreibung wird unterscheiden.). Ü02: In der nebenstehenden Tabelle sehen Sie die unveränderlichen Kurse der Euro-Teilnehmerländer. Definieren Sie ein paar Variablen (z.B. FRF = 6.55957, bedeutet 6.55957 FRF sind 1 Euro). Berechnen Sie damit die folgenden Eurobetrage: 5 Euro, 92.70 Euro. Mit den anderen Variablen können Sie nun direkt berechnen, wie viel Drachmen 90 FRF, 34 DEM usw. sind. Verwendung von Zusatzbibliotheken Mit der IDLE können Sie u.a. auch mathematische Funktionen verwenden. Dazu muss erst eine Bibliothek mit den entsprechenden Funktionen hinzugenommen werden. Das Einbinden einer Bibliothek erreicht man, indem man in der IDLE (oder auch später in Programmen) die Anweisung import math schreibt. Dann kann man durch die Anweisung: math.sin(3) den Sinus von 3 berechnen lassen. Außerdem stehen dann auch bestimmte mathematische Konstanten (z.B. pi, e) zur Verfügung. Immer muss der Name der Bibliothek vor der entsprechenden Funktion oder Konstanten geschrieben werden (z.B. math.pi gibt pi aus). Ü03: Berechnen Sie die folgenden Werte mit Hilfe der Mathematik-Bibliothek von Python. a) sin(1) b) Wurzel aus 20 c) Tangens von 45 Grad d) cos( pi ) e) 2 hoch 32 Berechnungen wiederholt ausführen lassen (Schleifen) Sollen bestimmte Berechnungen wiederholt ausgeführt werden, so ist dies durch sogenannte for-Schleifen oder while-Schleifen möglich. For-Schleifen werden verwendet, wenn man eine Folge von Anweisungen für eine bestimmte Anzahl wiederholen lassen will, d.h. es ist bekannt wie oft die Anweisungen wiederholt werden sollen. Ein Beispiel soll das erläutern: Es soll die Summe der Zahlen von 1 bis 100 berechnet werden (also 1+2+3+4+...+100). Programm 1 sum = 0 for i in range(1,101,1): sum = sum + i print sum // der Variablen sum den Wert 0 zuweisen // für i von 1 bis 100 in Schritten von 1 // erste mal i = 1, also sum = 0 + 1, sum = 1 + 2, … // das Ende der zu wiederholenden Anweisungen erkennt // der PythonInterpreter daran, dass print sum nicht mehr // eingerückt steht Eine while-Schleife verwendet man, wenn noch nicht bekannt ist, wie oft die Anweisungen wiederholt werden sollen. Dafür muss man der while-Schleife "mitteilen" unter welcher Bedingung der Schleifenrumpf ausgeführt wird. Auch hier wieder ein Beispiel: Es sollen positive Zahlen wiederholt eingegeben werden können und die Summe dieser Zahlen berechnet werden. Die Berechnung soll enden, wenn man den Buchstaben 'e' eingibt. Programm 2 sum = 0 zahl = input('Zahl bitte:') while( zahl>0 ): sum = sum + zahl zahl=input('Zahl bitte:') print "Die Summe ist: ", sum // Variable sum den Wert 0 zuweisen // Eine Zahl von der Eingabe lesen und zahl zuweisen // solange zahl größer 0, die eingerückten A. wiederholen // lese sum, addiere zahl, weise Ergebnis sum zu // neue Zahl einlesen // das Ergebnis der Berechnung ausgeben Eigene Programme erstellen und ausführen Die IDLE von Python öffnet durch <crtl>+N ein neues Fenster. Hier wir der Pythontext erstellt werden. Die Datei sollte man untern den Namen name.py speichern. Durch die Tastenkombination <crtl>+F5 wird das aktuelle Programm interpretiert und damit ausgeführt und die Ausgaben und Eingaben finden in der Pythonshell statt. Ü04: Schreiben Sie Programm1 mit dem Editor von Python, speichern Sie das Programm unter einem sinnvollen Namen und lassen Sie es ausführen. Ü05: Verändern Sie Programm1, so dass das man die Obergrenze n der Summe über Tastatur eingeben kann. Ü06: Wenn das Programm aus Ü05 funktioniert soll das Programm sowohl die Summe der Zahlen von 1 bis n, als auch die Summe der Quadratzahlen von 1 bis n berechnen und beides ausgeben. Testen Sie das Programm und stellen Sie sein Gültigkeitsbereich fest. Erstellen eines Skriptes zur Umrechnung einer Dezimalzahl in eine Dualzahl Eingabe einer Dezimalzahl Zunächst der Algorithmus (als Wiederholung) 1. Eingabe einer Dezimalzahl 2. Berechne den ganzzahligen Teil und des Rest bei Division durch 2 und gib den Rest aus. 3. Wiederhole den Punkt 2 solange der ganzzahlige Anteil größer als Null ist Berechne den ganzzahligen Anteil und den Rest bei Division durch 2 Gib den Rest aus Welche Sprachelemente sind notwendig um den Algorithmus in Python zu realisieren? zu 1. Durch den Aufruf Methode zahl = input('Text der angzeigt wird') wird in der Pythonshell der Text angezeigt und die eingegebene Zahl in der Variablen nach bestätigen mit der Eingabetaste zugewiesen. Durch die Methode print kann man Ausgaben vornehmen auf das Ausgabegerät vornehmen. Fügt man am Ende von print ein Komma an, so werden die Ausgaben von print hintereinander geschrieben. zu 2. Python kann den ganzzahligen Anteil und den Rest bei einer Division mit Hilfe der internen Methode (ganzzahl, rest) = divmod( ganzzahl, 2) bestimmen. Dabei wird ganzzahl als Parameter von divmod durch 2 geteilt und die Ergebnisse ganzzahl und rest zugewiesen. Ist der ganzzahlige Anteil größer Null ENDE Ü07: Schreiben Sie ein Programm, das zu einer von der Tastatur einzugebenden Zahl die Dualzahl bestimmt.