OStR Dipl. Ing. Carsten Kraft

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum caesar
Advertisements

Kapitel 6. Suchverfahren
10. Grundlagen imperativer Programmiersprachen
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
ARRAY oder FELD oder VEKTOR
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Robotik mit LEGO Mindstorms
Perl-Grundlagen Teile der Präsentation von A. Grupp,
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Das erste Programm (Folie 16)
Batch-Programmierung Grundlagen
DVG Ablaufsteuerung
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
Einführung in die Programmierung Datensammlung
Einführung in die Programmierung Anweisungen und Datentypen
Einführung MySQL mit PHP
Verzweigung.
Struktogramme IF-ELSE FOR – Schleife
Einstieg ins Programmieren mit Python
Grundkonzepte Java - Klassendefinition
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Programmieren mit MS Small Basic
Java programmieren mit JavaKara
Informatik 1 Übung 2.
Guten Nachmittag!.
Wir haben gesehen Das Gerüst ist bei JavaKara fix vorgegeben
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmiersprache C 4
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Die Grundidee Funktionsaufruf Funktionsname (Kopf) Code der Funktion
PHP Basic.
Variablenkonzept Klassisch, in Java Basistyp
Purga - Scriptengine Ein Einblick.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
Starten der Entwicklungsumgebung (IDE)
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
PHP: Operatoren und Kontrollstrukturen
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen.
SFZ FN Sj. 13/14 Python Grundlagen InfK12 Sj 13/14 GZG FN W.Seyboldt.
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
1 VeranstaltungThemaTeilnehmerBetreuer AINF-Lehrgang PROGRAMMIEREN Martina GREILER Wolfgang KATOLNIG Peter RENDL Helfried TUISEL Peter ZYCH Heinz STEGBAUER.
Blockseminar Allgemeine Technologien II Dozent: P. Sahle März 2009 PHP in HTML Referentin: Angela Brinck.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
(Syntax, Strings/Zahlen, Variablen, Arrays)
1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Einführung in die Programmiersprache C 2
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Namensräume (namespaces). verwendet man umfangreiche eigene und fremde Bibliotheken (Sammlungen von Funktionen) so ist die Wahrscheinlichkeit groß, daß.
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

OStR Dipl. Ing. Carsten Kraft Einführung in Python OStR Dipl. Ing. Carsten Kraft

Die Python Shell In der IDLE können Sie Anweisungen und Programmzeilen direkt eingeben. Achtung: Die Anweisungen können hier nicht gespeichert werden

Der Editor Im Programmpaket ist auch ein Editor enthalten, es kann aber auch ein beliebiger anderer Editor (z.B. der unter Windows) verwendet werden, um Programme zu schreiben und abzuspeichern. Wichtig: Beim Abspeichern immer die Endung .py verwenden!

Hallo Welt IDLE Geben Sie hinter die Eingabeaufforderung in der IDLE (>>>) die Anweisung print “Hallo Welt!“ ein und drücken Sie danach die Eingabetaste. Die Farben werden automatisch erzeugt.

Hallo Welt Editor Geben Sie im Editor die Anweisungen #!/usr/bin/python print ´´Hallo Welt!´´ ein und speichern das Programm unter hallowelt.py ab. Zum Aufrufen anklicken oder die Taste F5 drücken. Nur für Mac OS X, Linux u. ä. ist diese Zeile im Listing, die sogenannte Shebang-Line oder Magic Line nötig, damit die Python-Programmdateien direkt ausführbar gemacht werden können. Unter Windows wird die Shebang-Line ignoriert.

Umlaute, Sonderzeichen # encoding: iso-8859-1 oder # -*- coding: cp1252 -*- Umlaute ä, ö, ü sowie das ß kommen im normalen ASCII-Zei- chensatz nicht vor. Deshalb wird das Listing um die Zeile #!/usr/bin/python print ´´Hallo Welt´´ print ´´Käse´´ ergänzt. Probieren Sie es aus.

Datentypen Python kann mit einer ganzen Reihe von eingebauten Datentypen umgehen. Dazu zählen unter anderem: Zahlen (int, long, float, complex) Boolesche Variablen (bool) Zeichenketten (str, unicode ) Listen (list) Tupel (tuple) Dictionaries (dict, auch "assoziatives Array" oder "Hash") Funktionen, Klassen, Methoden Dateien Module

Zahlen Geben Sie in der Shell folgendes ein: Zahlen 1 1.0 1+2 1.0+2 1/3 1.0/3 11**20 3*4 3+5j 3+5j-(2+7j) Python Datentyp 1 int 1.0 float 3 int 3.0 float 0 int 0.3333333333333333 float 672749994932560009201L long 13 int (3+5j) complex (1-2j) complex

Zeichenketten Geben Sie in der Shell folgendes ein: Zeichenketten ’a’ "dies ist ein "Text "! " ’dies ist ein "Text "! ’ ’1’+’2’ 3*’a’ A Python 'a' SyntaxError: invalid syntax (Text) 'dies ist ein "Text"! ' '12‚ 'aaa‚ Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> A NameError: name 'A' is not defined

Rechnen mit Python Machen Sie sich die Auswirkung der Eingaben an folgenden Beispielen klar, indem Sie diese direkt in die Shell eingeben: sqrt(4) sin(0) pi Python Traceback (most recent call last): File "<pyshell#*>", line 1, in <module> sqrt(4) NameError: name 'sqrt' is not defined Geben Sie nun zuerst ein: from math import * und wiederholen Sie danach die obigen Eingaben

Listen Listen enthalten eine Folge mehrerer beliebiger Python-Objekte. Geben Sie diese direkt in die Python-Shell ein. [ ] # leere Liste [1, "abc"] # zwei Elemente L = [1, "abc", [5, 7], 3] # verschachtelte Liste L[0], L[1], L[2], L[2][0], L[-1], L[1:], L[1:3], L[:2] # Indizierung

Tupel Tupel sind Listen sehr ähnlich, lassen sich aber nach der Definition nicht mehr verändern. Beachten Sie, dass Tupel mit nur einem Element mit einem Komma vor der schließenden Klammer ge- schrieben werden, um sie von Ausdrücken zu unterscheiden. Geben Sie diese direkt in die Shell ein. T = () # leeres Tupel T = (1,) # ein Element T = (1, "abc") # 2 Elemente T[0] = 2 # Änderungsversuch T[0], T[1], T[-1] # Indizierung

Dictionary Ein Dictionary ist wie ein Adressbuch, d.h. einem Schlüssel (Namen) wird ein Wert (Kontaktdaten) zugeordnet. Beachten Sie, dass der Schlüssel eindeutig sein muss und dass man nur unveränderliche Objekte (wie z.B. Strings und Tupel) als Schlüssel eines Dictionaries verwenden kann. Als Werte kann man sowohl unveränderliche als auch veränderliche Objekte benutzen. Das bedeutet im Wesentlichen, dass man nur einfache Objekte als Schlüssel verwenden sollte. D = { } # leerer Dictionary D = {’a’: ’Wert1’} # ein Element D = {’a’: ’Wert1’, ’b’: ’Wert2’} # 2 Elemente D[’a’], D[’b’] # Indizierung D[’c’]= ’Wert3’ # hinzufügen eines Elements

IF-Anweisung Die IF-Anweisung wird benutzt, um eine Auswahl zu ermöglichen. Dazu wird eine Bedingung überprüft. Falls diese Bedingung erfüllt ist, wird ein Block von Anweisungen ausgeführt (der so genannte if-Block), andernfalls wird ein anderer Block von Anweisungen ausgeführt (der so genannte else-Block). Die else-Klausel ist dabei optional. Die Anzahl der elif-Blöcke (d.h. else if) ist variabel. Wichtig sind hierbei die Einrückungen. Struktur: if (Bedingung): Anweisungen wenn Bedingung ist True else: Anweisungen wenn Bedingung ist False

IF-Anweisung Aufgabe Laden Sie die Datei Zahlenraten_20110118 und ergänzen Sie diese um folgende Auswahl: Ist die geratene Zahl gleich der gesuchten Zahl, dann drucken Sie den Text 'Herzlichen Glückwunsch, Sie haben die Zahl erraten. ' aus. Sonst Überprüfen Sie ob die geratene Zahl kleiner oder größer der gesuchten ist und drucken eine entsprechende Bemerkung aus.

Lösung Zahlenraten #!/usr/bin/python # encoding: iso-8859-1 zahl = 23 geraten = int(raw_input('Geben Sie bitte eine ganze Zahl ein:')) if (geraten == zahl): print 'Herzlichen Glückwunsch, Sie haben die Zahl erraten.' elif (geraten < zahl): print 'Nein, die Zahl ist etwas größer.' else: print 'Nein, die Zahl ist etwas niedriger.'

Ostertermin nach Hartmann Laden Sie die Datei ostern_hartmann_20110118 und ergänzen Sie die Datei um das Programm, wie es Ihnen auf dem Aufgabenblatt beschrieben wird.

Lösung Hartmann #!/usr/bin/python # encoding: iso-8859-1 jahr = input ('Geben Sie bitte das Jahr ein: ') q = jahr/4 a = jahr % 19 b = (204-11*a) % 30 if (b == 28 or b == 29): b = b – 1 c = (jahr + q + b - 13) % 7 tag = 28 + b – c if (tag>31): monat = 'April' tag = tag - 31 else: monat = 'März' print tag, '.', monat, jahr

FOR-Anweisung Die for-Schleife durchläuft jedes Objekt in einer Sequenz, was bewirkt, dass der Variablen i der Reihe nach jedes Objekt in der Sequenz zugewiesen wird, und dann der Anweisungsblock für jeden dieser Werte von i ausgeführt wird. Wichtig sind hierbei die Einrückungen. Struktur: for i in Sequenz (z.B. range-Tupel): Anweisungen, die für jedes i durchlaufen werden

FOR-Anweisung Aufgabe Laden Sie die Datei Zahlenliste_for_20110118 und ergänzen Sie diese. Erstellen Sie eine Liste mit ganzen Zahlen von einer unteren Grenze bis zu einer oberen Grenze, die eingegeben werden müssen. Verwenden Sie hierzu das Objekt range. Informieren Sie sich bitte hierzu mit Hilfe der „Zusammenfassung“, wie sie ausliegt.

Lösung Zahlenliste_for #!/usr/bin/python # encoding: iso-8859-1 ug=input('Geben Sie bitte die untere Grenze ein: ') og=input('Geben Sie bitte die obere Grenze ein: ') for i in range(ug,og+1): print i

WHILE-Anweisung Ein Anweisungsblock wird wiederholt ausgeführt, solange eine zugehörige Bedingung erfüllt ist. !!! Vorsicht: Es besteht die Gefahr von Endlosschleifen!!! (Abbruch mit Strg+C) Struktur: while (Bedingung): Anweisungen, wenn Bedingung ist True

WHILE-Anweisung Aufgabe Laden Sie die Datei Zahlenliste_while_20110118 und ergänzen Sie diese. Erstellen Sie eine Liste mit ganzen Zahlen von einer unteren Grenze bis zu einer oberen Grenze, die eingegeben werden müssen. Informieren Sie sich bitte hierzu mit Hilfe der „Zusammenfassung“, wie sie ausliegt.

Lösung Zahlenliste_while !/usr/bin/python # encoding: iso-8859-1 ug=input('Geben Sie bitte die untere Grenze ein: ') og=input('Geben Sie bitte die obere Grenze ein: ') a=ug while a<=og: print a a=a+1