Einführung in Python

Werbung
Das erste Programm
Funktionen
Mastermind
Ende
Einführung in Python
Arne Hüffmeier
1 / 35
Das erste Programm
Funktionen
1
Das erste Programm
2
Funktionen
3
Mastermind
4
Ende
Mastermind
Ende
2 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mittelwert berechnen
Wir wollen jetzt ein kleines Programm schreiben, welches den
Mittelwert berechnen kann.
3 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wie gehen wir vor?
4 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen, die man sich vorher stellen sollte
1
Welchen Mittelwert?
2
Wie sieht die Eingabe aus?
3
Wie sieht die Ausgabe aus?
4
Wie ist der Ablauf?
5 / 35
Das erste Programm
Funktionen
Mastermind
Ende
1) Welchen Mittelwert?
6 / 35
Das erste Programm
Funktionen
Mastermind
Ende
1) Welchen Mittelwert?
Am Anfang nehmen wir das arithmetische Mittel
n
1X
x1 + x2 + · · · + xn
xi =
n i=1
n
6 / 35
Das erste Programm
Funktionen
Mastermind
Ende
2) Wie sieht die Eingabe aus?
7 / 35
Das erste Programm
Funktionen
Mastermind
Ende
2) Wie sieht die Eingabe aus?
Um es einfach zu gestalten, nehmen wir als Eingabe einfach eine
Liste an
1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]
7 / 35
Das erste Programm
Funktionen
Mastermind
Ende
3) Wie sieht die Ausgabe aus?
8 / 35
Das erste Programm
Funktionen
Mastermind
Ende
3) Wie sieht die Ausgabe aus?
Bei der Ausgabe reicht uns ein einfaches print
1
p r i n t ( " Das ␣ Arithmetische ␣ Mittel ␣ ist : " , e r g e b n i s )
8 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Ablauf
Malen wir mal etwas.
9 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Ablauf
Und jetzt das Ganze in Python.
10 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Ablauf
kleine Verbesserung
Dieses kleine Programm funktioniert zwar, jedoch würde das
Programm sehr unübersichtlich werden, wenn wir weitere
Mittelwerte berechnen wollen. Zudem würde jede Berechnung
ausgeführt, auch wenn wir das nicht wollen.
11 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Ablauf
kleine Verbesserung
Dieses kleine Programm funktioniert zwar, jedoch würde das
Programm sehr unübersichtlich werden, wenn wir weitere
Mittelwerte berechnen wollen. Zudem würde jede Berechnung
ausgeführt, auch wenn wir das nicht wollen.
Was passiert, wenn wir bei einem größeren Projekt an mehreren
Stellen den arithmetischen Mittelwert benötigen?
11 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Ablauf
kleine Verbesserung
Dieses kleine Programm funktioniert zwar, jedoch würde das
Programm sehr unübersichtlich werden, wenn wir weitere
Mittelwerte berechnen wollen. Zudem würde jede Berechnung
ausgeführt, auch wenn wir das nicht wollen.
Was passiert, wenn wir bei einem größeren Projekt an mehreren
Stellen den arithmetischen Mittelwert benötigen?
Um mehrfaches Auftauchen von gleichen Codeschnipseln zu
verhindern, gibt es Funktionen.
11 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
In Python.
12 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
Was ist neu?
Es ist nur eine Zeile dazu gekommen
1 def arithmetic_mean () :
def = es handelt sich um eine Funktion
arithmetic_mean = Funktionsname (dieser ist frei wählbar)
(): = Parameter und Ende
13 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
Aufruf einer Funktion.
14 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
So etwas kennen wir doch schon?!
1
p r i n t ( " Hallo " )
Das print ist auch eine Funktion. Diese Funktion wurde von den
Python Entwicklern für uns geschrieben.
15 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
So etwas kennen wir doch schon?!
1
p r i n t ( " Hallo " )
Das print ist auch eine Funktion. Diese Funktion wurde von den
Python Entwicklern für uns geschrieben.
Doch bei dieser Funktion schreiben wir etwas in die Runden
Klammern (Das sind die Parameter).
15 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
Einbau von Parametern.
16 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
Infos zu Parametern
Eine Funktion kann auch mehrere Parameter bekommen.
1 d e f add ( a , b , c , d , e ) :
2
ergebniss = a + b + c + d + e
3
print ( ergebniss )
Der Aufruf der Funktion sieht dann dementsprechend aus:
1 add ( 1 , 2 , 3 , 4 , 5 )
17 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Auslagern als Funktion
Infos zu Parametern
Eine Funktion kann auch mehrere Parameter bekommen.
1 d e f add ( a , b , c , d , e ) :
2
ergebniss = a + b + c + d + e
3
print ( ergebniss )
Der Aufruf der Funktion sieht dann dementsprechend aus:
1 add ( 1 , 2 , 3 , 4 , 5 )
Wichtig ist, dass die Reihenfolge stimmt. In diesem Beispiel wäre
a = 1, b = 2, c = 3, d = 4 und e = 5
17 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Funktionen mit return-Wert
Was ist, wenn wir mit dem Ergebnis noch weiter
rechnen möchten?
18 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Funktionen mit return-Wert
Infos zu return
Mit dem return endet die Funktion sofort.
1 def
2
3
4
test () :
p r i n t ( " erster ␣ Text " )
return 1
p r i n t ( " zweiter ␣ Text " )
Bei dieser test-Funktion würde das zweite print nicht ausgeführt
werden.
19 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Das Zweite Programm
Das erste Programm war sehr klein und zugegebenermaßen auch
nicht wirklich interessant. Deswegen werden wir jetzt ein kleines
Spiel programmieren.
20 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Das Zweite Programm
Das erste Programm war sehr klein und zugegebenermaßen auch
nicht wirklich interessant. Deswegen werden wir jetzt ein kleines
Spiel programmieren.
Mastermind
20 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
Wir erinnern uns noch mal an die Fragen beim ersten Programm.
21 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
Wir erinnern uns noch mal an die Fragen beim ersten Programm.
Wichtige Fragen, die man sich vorher stellen sollte:
1
Welche Regeln hat das Spiel?
2
Wie sieht die Eingabe aus?
3
Wie sieht die Ausgabe aus?
4
Wie ist der Ablauf?
21 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
1) Welche Regeln hat das Spiel?
22 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
1) Welche Regeln hat das Spiel?
Es müssen 5 Farben ausgewählt werden.
22 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
1) Welche Regeln hat das Spiel?
Es müssen 5 Farben ausgewählt werden.
Zur Auswahl stehen 8 Farben.
22 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
1) Welche Regeln hat das Spiel?
Es müssen 5 Farben ausgewählt werden.
Zur Auswahl stehen 8 Farben.
Der Spieler hat 12 Versuche, um die richtige Farbauswahl zu
”erraten”.
22 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
1) Welche Regeln hat das Spiel?
Es müssen 5 Farben ausgewählt werden.
Zur Auswahl stehen 8 Farben.
Der Spieler hat 12 Versuche, um die richtige Farbauswahl zu
”erraten”.
Nach jedem Versuch bekommt er die Rückmeldung, wie
häufig die richtige Farbe am richtigen Platz war und wie
häufig die richtige Farbe am falschen Platz war.
22 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
2) Wie sieht die Eingabe aus?
23 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
2) Wie sieht die Eingabe aus?
Hier geht es leider nicht mit einer einfachen Liste, denn der Spieler
muss auf die Ausgaben reagieren können.
Also benötigen wir eine Eingabe für jede Runde.
23 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
3) Wie sieht die Ausgabe aus?
24 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
3) Wie sieht die Ausgabe aus?
Die Ausgabe können wir mit print realisieren, jedoch brauchen
wir Verschiedene.
1
Nach jedem Versuch des Spielers mit den Informationen:
Runden-Nummer, Infos zur Eingabe
24 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
3) Wie sieht die Ausgabe aus?
Die Ausgabe können wir mit print realisieren, jedoch brauchen
wir Verschiedene.
1
Nach jedem Versuch des Spielers mit den Informationen:
Runden-Nummer, Infos zur Eingabe
2
Wenn der Spieler richtig geraten hat.
24 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Wichtige Fragen
3) Wie sieht die Ausgabe aus?
Die Ausgabe können wir mit print realisieren, jedoch brauchen
wir Verschiedene.
1
Nach jedem Versuch des Spielers mit den Informationen:
Runden-Nummer, Infos zur Eingabe
2
Wenn der Spieler richtig geraten hat.
3
Wenn der Spieler es nicht geschafft hat, in der maximalen
Anzahl Runden richtig zu raten.
24 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Der Ablauf
Malen wir mal wieder etwas.
25 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Die Implementation
Und jetzt das Ganze als Programm.
26 / 35
Das erste Programm
Funktionen
Mastermind
Ende
random
random
Um Zufallszahlen zu erstellen, gibt es die Funktion randrange.
Diese hat als Parameter die Grenzen des Zufallszahlenbereichs.
1 randrange (1 ,8)
Jedoch kennt Python diesen Befehl von alleine nicht. Wir müssen
ihn erst einbinden.
Das passiert über:
1 from random i m p o r t r a n d r a n g e
Diese Zeile kommt einfach weit nach oben ins Programm.
27 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Weiter im Programm
Weiter in Python.
28 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Benutzereingaben
Wie kann der Spieler seine Zahlen-Kombination eingeben ?
Für eine einfache Benutzereingabe gibt es die Funktion input()
1 e i n g a b e = i n p u t ( " Was ␣ haben ␣ Sie ␣ zu ␣ sagen ? " )
2 p rin t ( eingabe )
Als Parameter kann die Funktion einen Text bekommen, der vor
der Eingabe ausgegeben werden soll.
Als Rückgabe bekommt man die Eingabe des Benutzers.
29 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Weiter in Python.
30 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Überprüfen, ob die Eingabe richtig ist
1 def checkInput ( inp , c o l o r ) :
2
pass
31 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
Stimmt die Eingabe überein?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
Stimmt die Eingabe überein?
Stimmt Position und Zahl überein?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
Stimmt die Eingabe überein?
Stimmt Position und Zahl überein?
Kommt die Zahl in der Kombination vor?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
Stimmt die Eingabe überein?
Stimmt Position und Zahl überein?
Kommt die Zahl in der Kombination vor?
Ist die Eingabe des Spielers fünf Zahlen lang?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Mastermind
Was müssen wir testen?
Stimmt die Eingabe überein?
Stimmt Position und Zahl überein?
Kommt die Zahl in der Kombination vor?
Ist die Eingabe des Spielers fünf Zahlen lang?
Hat der Spieler nur Zahlen eingegeben?
32 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Eingabe
Weiter mit der Eingabe.
33 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Eingabe
Herzlichen Glückwunsch.
Wir haben jetzt ein Python-Spiel programmiert.
34 / 35
Das erste Programm
Funktionen
Mastermind
Ende
Geschafft
Nun habt ihr einen etwas tieferen Einstieg in Python
Viel Spaß im Tutorium
35 / 35
Herunterladen