Quick-Start Informatik Programmieren in Python Teil 1

Ähnliche Dokumente
Greenfoot: Verzweigungen

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JAVA-Datentypen und deren Wertebereich

Informatik I Übung, Woche 40

Variablen und Datentypen

Grundlagen der Programmierung

Programmieren mit Python

Vorlesung Programmieren

Grundlagen der Programmierung

Elementare Konzepte von

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung Operatoren Kapitel 2 und 3

Programmieren I + II Regeln der Code-Formatierung

Klassen in Java. Grundlagen der Programmierung. Stephan Kleuker 68

Processing Info zu Variablen und Bedingungen

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Programmierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung

Prinzipien der Softwareentwicklung S. Strahringer

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Einführung in die Programmierung 1

Welche Informatik-Kenntnisse bringen Sie mit?

Ein erstes Java-Programm

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Linux Tutorium. 12. Shellprogrammierung. Version vom :38:56

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Werkzeuge zur Programmentwicklung

Kapitel 3: Variablen

AuD-Tafelübung T-B5b

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

5.4 Klassen und Objekte

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Interpreter - Gliederung

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Multimedia im Netz Wintersemester 2011/12

Arbeiten mit JavaKara

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einstieg in die Informatik mit Java

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung mit VBA

Methoden (fortgeschritten) in C# - 1

Tutorium für Fortgeschrittene

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Übungen Programmieren 1 Felix Rohrer. Übungen

Einführung in die Computerlinguistik Einführung in Python (2)

Programmieren I. Kapitel 5. Kontrollfluss

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

GI Vektoren

Programmieren in C / C++ Grundlagen C 2

Der Datentyp String. Stringvariable und -vergleiche

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Elementare Datentypen in C++

Diana Lange. Generative Gestaltung Operatoren

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

E-PRIME TUTORIUM Die Programmiersprache BASIC

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

JAVA - Methoden

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

5 Grundlagen der Java-Syntax

Computer & GNU/Linux Einführung Teil 4

Entwurf von Algorithmen - Kontrollstrukturen

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Vorlesung Unix-Praktikum

Java-Vorkurs Wintersemester 15/16

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

RO-Tutorien 3 / 6 / 12

Modul 122 VBA Scribt.docx

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

JAVA - Methoden - Rekursion

Annehmende Schleife do while

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

PIWIN 1 Übung Blatt 5

Lua Grundlagen Einführung in die Lua Programmiersprache

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmier-Befehle - Woche 10

Kurze Einführung in die Programmiersprache C++ und in Root

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

3 Berechnungen und Variablen

Übung zur Vorlesung Multimedia im Netz

Die Programmiersprache C Eine Einführung

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Selbsteinstufungstest Vorkurs Programmieren

Transkript:

Quick-Start Informatik 2011 Programmieren in Python Teil 1

Alles zum Praxisteil } Skript, Übungen, auf Folien... http://vorkurs.cs.uni-frankfurt.de Bücher: Gratis: http://learnpythonthehardway.org/

Fragen, fragen, fragen!

Erste Vorlesung 1. Programmieren, wie geht das? 2. Daten und Datentypen 1. Zahlen 2. Vergleiche und Wahrheitswerte 3. Text 3. Variablen 4. Bedingungen stellen 5. Daten anfordern und Ausgeben

Programmieren Bild: http://www.eatliver.com/i.php?n=3012

Python Höhere Programmiersprache o Sie ist für Menschen einfacher zu verstehen, als die "Muttersprache" des Computers Aber: der Computer versteht sie nicht (direkt): o Wir brauchen einen "Übersetzer" http://www.python.org o Kostenlos für Win/Mac/Linux

IDLE

Diesen Modus nennt man "REPL" (kurz für Read Evaluate Print Loop)

Mit dem REPL arbeiten

Mit dem REPL arbeiten

Was bedeutet "Invalid Syntax"? Sprachen haben Syntax und Semantik Syntax: Wie Sätze gebaut sein müssen, damit sie (in dieser Sprache) richtig sind Semantik: Bestimmt was der Satz bedeutet. 'Hallo Vorkurs' ist also wohl falsch gebaut

Was bedeutet "Invalid Syntax"? Fehler können vor allem am Anfang frustrieren. Nicht aufgeben - das geht jedem so! Hier findet ihr Hilfe: stackoverflow.com... Vorkurs Forum: http://fsinf-forum.de/viewforum.php?f=45

Python Programme Willst du ein Programm weitergeben/mehrmals verwenden, speichere den Python Code in einer Textdatei mit Endung.py IDLE Demo

Zusammenfassung Programmieren = Sprache lernen die in "Computersprache" übersetzt werden kann Python übersetzt uns IDLE o Im REPL o Aus einer Textdatei

Datentypen

Datentypen Ein Computer funktioniert (stark vereinfacht) so: Daten Magic Daten Was kann der Computer alles mit einem Datum machen? Das hängt davon ab, von welchem Datentyp es ist...

Datentypen Python unterstützt viele Datentypen: Zahlen Text (Strings) und weitere... Listen von Dingen

Zahlen

Zahlen (Integer und Float) Zahlen ohne Komma Sog. int (Ganzzahl) >>> 4 Zahlen mit 'Komma' Sog. float (Fließkommazahl) >>> 4.0 Richtig echter Python Code!! Warum Punkt und kein Komma?? Der englische Sprachraum (und deshalb viele Programmiersprachen) verwendet den Punkt als Dezimaltrenner, kein Komma!

Vorrang Bei mehr als zwei Rechnungen haben gewisse Operatoren (+, *, -, /,...) Vorrang. Wie in Mathe gilt Punkt vor Strich: >>> 3 + 4 * 5 23... und Klammern haben Vorrang >>> (3 + 4) * 5 35 http://www.flickr.com/photos/ henteaser/274494784/ Alle Vorrangregeln http://docs.python.org/reference/expressions.html#summary Tipp: Nicht auswendig lernen. Klammern setzen.

Von Kommazahl zu Ganzzahl Manchmal braucht man eine bestimmten Typ von Zahl: Kommazahl zu Ganzzahl >>> int(5 / 2) 2 Ganzzahl zu Kommazahl >>> float(5-2) 3.0 Parameter int() und float() sind sog. Funktionen. Sie transformieren den Parameter in einen anderen Wert!

Vergleiche Interessanter wird es wenn wir Zahlen miteinander vergleichen...

Vergleiche Interessanter wird es wenn wir Zahlen miteinander vergleichen... >>> 3 > 4 False >>> 3 < 4 True >>> 3 <= 4 True >>> 3 >= 4 False Ist drei grösser als vier? Ist drei kleiner als vier? Ist drei grösser oder gleich vier? Ist drei kleiner oder gleich vier?

Gleichheit >>> 3 == 4 False >>> 3!= 4 True Ist drei gleich vier? Ist drei ungleich vier? Prüfen auf Gleichheit Gleichheit wird in vielen Programmiersprachen mit == geprüft. Das einzelne = ist hier für eine andere Operation reserviert.

Wahrheitswerte

Wahrheitswerte (bool) Das Ergebnis eines Vergleichs ist ein Wahrheitswert. Es gibt nur zwei Wahrheitswerte: True (wahr) und False (falsch). http://en.wikipedia.org/wiki/george_boole In Python heißt dieser Datentyp bool nach George Boole, der sich viel mit Wahrheitswerten beschäftigte.

Kombinierte Vergleiche Ausdrücke Kombinieren >>> (4 > 3) and (3 < 5) True >>> (4 > 3) and True True Man kann Wahrheitswerte auch direkt in Aussagen verwenden!

Wahrheitswerte negieren Manchmal möchte man wissen ob etwas nicht zutrifft: >>> not (3 == 4) True >>> not (3 < 4) False Zu diesem "Umdrehen" sagt man auch Negation

Text

Text (Strings) Wir sagen dem Interpreter, dass etwas Text (und kein Code ist) indem wir es in Hochkomma setzen: >>> 'Hallo Vorkurs!' 'Hallo Vorkurs!' >>> "Ich bin normaler Text" 'Ich bin normaler Text' Warum String? Dieser Datentyp wird als String bezeichnet, weil die einzelnen Buchstaben wie an einem Faden in einer Reihenfolge "aufgehängt" sind (vgl. Bild)

Text (Strings) Wenn ein String über mehr als eine Zeile geht, müssen wir ihn in dreifache Hochkomma setzen! >>> '''Hallo Vorkurs, ich bin ein langer Text. Ich gehe über drei Zeilen!''' 'Hallo Vorkurs, \nich bin ein langer Text. \nich gehe über drei Zeilen!' Funktioniert genauso mit Strings in "

Text (Strings) Wenn ein String über mehr als eine Zeile geht, müssen wir ihn in dreifache Hochkomma setzen! >>> '''Hallo Vorkurs, ich bin ein langer Text. Ich gehe über drei Zeilen!''' 'Hallo Vorkurs, \nich bin ein langer Text.\nIch gehe über drei Zeilen!' Was ist das denn???

Escape-Sequenzen Escape-Sequenzen (\ + Buchstabe) ermöglichen die Eingabe von nichtdruckbaren (Tab, Leerzeichen) oder nicht erlaubten (', ") Zeichen in Strings! comic by: geekandpoke.typepad.com/ Alle möglichen Escape-Sequenzen findest du hier: http://docs.python.org/py3k/reference/lexical_analysis.html#string-and-bytesliterals

Zwischenfrage Wir haben jetzt bereites einige Daten eingegeben und gesehen was wir damit machen können. >>> 4 >>> 'Hallo!' >>> True Was ist das hier eigentlich? Daten? Datentypen?

Das sind Objekte! Objekte sind die Bausteine in einer Objekt-Orientierten Programmiersprache wie Python.

Was bist du denn für ein Typ? Zurück zum Anfang: Wir wissen Objekte haben einen Typ der bestimmt, was man damit machen kann. >>> type(3) <class 'int'> >>> type(3 / 2) <class 'float'> >>> type(4 == 3) <class 'boolean'> Benutze die Funktion type() um den Typ eines Ausdrucks oder einer Variable herauszufinden.

Objekte... wir haben auch gesehen, dass Objekte Daten speichern. Ich speichere sechs Zeichen für dich! >>> 'Hallo!'

Objekte Jetzt werden wir sehen, wie wir: Infos über die Daten in einem Objekt bekommen. Daten von Objekten verändern. Objekte haben Methoden, um etwas mit den Daten zu tun.

(String) Methoden In einem String etwas ersetzen: >>> "I can haz Cheeseburger?".replace( "Cheeseburger","cheezburger") 'I can haz cheezburger?' Parameter Herausfinden, ob in dem String eine Zahl steht: >>> "333".isnumeric() True Rückgabewert (Return Value) der Methode

(String) Methoden Dokumentation Alle Methoden von Strings findest du in der Dokumentation unter: http://docs.python.org/py3k/library/stdtypes.html#string-methods

Let's talk about Style

Don't repeat yourself Es kommt oft vor, dass du bestimmte Werte immer wieder brauchst. (Stell dir ein Programm vor, das 100 Zahlen auf Teilbarkeit durch 2 testet.) Wenn sich ein solcher Wert (2) ändert, müssen alle Stellen an der er Vorkommt angepasst werden... (In unserem Beispiel wohl an 100 Stellen. Yikes!)

Good Code is DRY Don't Repeat Yourself

Variablen zur Rettung! V

Variablen Variablen geben einem Wert einen Namen. >>> meaning_of_life = 40 + 2 Statt den Wert zu wiederholen, kann man dann den Namen an seiner Stelle verwenden: Variable http://www.flickr.com/photos/tbuser/2679445409 >>> 1 + meaning_of_life 43 Vorrang Die Zuweisung = hat den niedrigsten Vorrang aller Operatoren. Die "rechte Seite" wird also zuerst ausgewertet und dann das Ergebnis gespeichert!

Fehlermeldungen... Fragen wir nach einem Namen, den es noch nicht gibt...

Regeln für Variablennamen Wählst du Namen sorgfältig, kannst du damit Programme lesbarer und deine Absichten deutlich machen! >>> meaning_of_life = 42 # Guter Name! >>> var001 = 42 # Mieser Name! Python erlaubt jede Kombination aus Buchstaben, Nummern und Unterstrichen (_), die nicht mit einer Zahl beginnt. >>> 001var = 42 # Fehlermeldung! Reservierte Namen Einige Namen sind reserviert und können nicht für Variablen verwendet werden: http://docs.python.org/reference/lexical_analysis.html#keywords

Moment mal... >>> meaning_of_life = 42 #Guter Name! Was ist das denn??

Moment mal... >>> meaning_of_life = 42 #Guter Name! Was ist das denn?? Die Raute leitet einen Kommentar ein. Alles ab der Raute bis zum Zeilenende wird vom Interpreter ignoriert. # Kommentare sind dafür da, Code zu erklären und ihn für Menschen verständlicher zu machen.

Bedingungen stellen

Bedingtes Ausführen Bisher hatten alle unsere Beispiele etwas gemeinsam. Der Computer hat die Anweisungen in der Reihenfolge abgearbeitet, in der wir sie eingegeben haben. "Erste Zeile" "Zweite Zeile" "Dritte Zeile" "Vierte Zeile"

Bedingtes Ausführen Gewisse Dinge passieren aber nur unter Bedingungen. z.b. Wenn du zur dunklen Seite der Macht überläufst, bekommst du Kekse. In Python: if you.come_to_the_dark_side(): you.get_cookies() Wenn you.come_to_the_dark_side() nicht True ist, wird you.get_cookies() nicht ausgeführt. http://www.thinkgeek.com/tshirtsapparel/miscellaneous/d0b2/

Blöcke Blöcke markieren den Bereich der bedingt ausgeführt wird: "Vor dem Block" if True: "Wir sind im Block" "Nicht mehr im Block" Eingeleitet wird ein Block von einem : Der Block selbst ist mit vier Leerzeichen ( ) eingerückt. Er endet, wenn diese Einrückung endet.

Bedingtes Ausführen "Luke, I am your father" if you.come_to_the_dark_side(): # False you.get_cookies() "I sense a sister..." if she.come_to_the_dark_side(): # True she.get_cookies() Man nennt diese roten Pfeile den Kontrollfluss. Anweisungen die den Kontrollfluss ändern, heissen Kontrollstrukturen.

Bedingtes Ausführen Trifft eine Bedingung nicht zu, soll evtl. eine alternative Anweisung ausgeführt werden. Dafür gibt es das Schlüsselwort else: if you.come_to_the_dark_side(): # False you.get_cookies() else: you.do_not_get_cookies()

Bedingtes Ausführen Gibt es mehrere Bedinungen, können wir elif verwenden: x = 3 if x < 0: "Negative Zahl" elif x > 0: "Positive Zahl" else: "Die Zahl ist Null" "Block ist zuende elif ist eine Kurzform für "else if" http://www.flickr.com/photos/ sminor/2843977224/

Ich kann Python Zeig's mir! (Image origin unknown)

Let's Code!

Live coding

Live coding learnings Was wir beim Live coding gelernt haben: Ausgabe mit print() Eingabe mit input() Optional mit Argument: "Prompt", gibt String zurück Konvertieren von String in Zahl: >>> int("235") 235 >>> float("1.5") 1.5

Vielen Dank für eure Aufmerksamkeit Übungen um 14:00 Uhr in den Fischer-Räumen