Einführung in Python - Universität Bielefeld · Das erste Programm Funktionen MastermindEnde...

59
Das erste Programm Funktionen Mastermind Ende Einführung in Python Arne Hüffmeier 1 / 59

Transcript of Einführung in Python - Universität Bielefeld · Das erste Programm Funktionen MastermindEnde...

Das erste Programm Funktionen Mastermind Ende

Einführung in Python

Arne Hüffmeier

1 / 59

Das erste Programm Funktionen Mastermind Ende

1 Das erste Programm

2 Funktionen

3 Mastermind

4 Ende

2 / 59

Das erste Programm Funktionen Mastermind Ende

Mittelwert berechnenWir wollen jetzt ein kleines Programm schreiben, welches denMittelwert berechnen kann.

3 / 59

Das erste Programm Funktionen Mastermind Ende

Wie gehen wir vor?

4 / 59

Das erste Programm Funktionen Mastermind Ende

Wichtige Fragen, die man sich vorher stellen sollte1 Welchen Mittelwert?2 Wie sieht die Eingabe aus?3 Wie sieht die Ausgabe aus?4 Wie ist der Ablauf?

5 / 59

Das erste Programm Funktionen Mastermind Ende

1) Welchen Mittelwert?Am Anfang nehmen wir das arithmetische Mittel

1n

n∑i=1

xi = x1 + x2 + · · · + xnn

6 / 59

Das erste Programm Funktionen Mastermind Ende

2) Wie sieht die Eingabe aus?Um es einfach zu gestalten, nehmen wir als Eingabe einfach eineListe an

1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]

7 / 59

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 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Was wir schon wissen

print(ergebniss)

ergebniss = 0

numbers=[1,2,3,4]

9 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Aus der Formel ergibt sich

print(ergebniss)

ergebniss = 0

numbers=[1,2,3,4]

ergebnis/=len(numbers)

10 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Da wir über die Liste iterieren müssen

print(ergebniss)

ergebniss = 0

numbers=[1,2,3,4]

ergebnis/=len(numbers)

11 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Dafür ist for da

for i in numbers

print(ergebniss)

ergebniss = 0

numbers=[1,2,3,4]

ergebnis/=len(numbers)

12 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Eine Addition und wir sind fertig

for i in numbers

print(ergebniss)

ergebniss = 0

numbers=[1,2,3,4]

ergebniss += i

ergebnis/=len(numbers)

13 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Der erste Teil in Python

1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]2 e r g e b n i s = 03456 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )

14 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Das Teilen kommt dazu

1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]2 e r g e b n i s = 0345 e r g e b n i s /= l e n ( numbers )6 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )

15 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

for hinzugefügt

1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]2 e r g e b n i s = 03 f o r i i n numbers :45 e r g e b n i s /= l e n ( numbers )6 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )

16 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

Jetzt ist es fertig

1 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]2 e r g e b n i s = 03 f o r i i n numbers :4 e r g e b n i s += i5 e r g e b n i s /= l e n ( numbers )6 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )

17 / 59

Das erste Programm Funktionen Mastermind Ende

Ablauf

kleine VerbesserungDieses kleine Programm funktioniert zwar, jedoch würde dasProgramm sehr unübersichtlich werden, wenn wir weitereMittelwerte berechnen wollen. Zudem würde jede Berechnungausgeführt, auch wenn wir das nicht wollen.

Was passiert, wenn wir bei einem größeren Projekt an mehrerenStellen den arithmetischen Mittelwert benötigen?

Um mehrfaches Auftauchen von gleichen Codeschnipseln zuverhindern, gibt es Funktionen.

18 / 59

Das erste Programm Funktionen Mastermind Ende

Auslagern als Funktion

Machen wir aus unserer Berechung mal eine Funktion

1 d e f a r i thmet ic_mean ( ) :2 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]3 e r g e b n i s = 04 f o r i i n numbers :5 e r g e b n i s += i6 e r g e b n i s /= l e n ( numbers )7 p r i n t ( "Das␣Arithmetisches␣Mittel␣ist:" , e r g e b n i s s )

19 / 59

Das erste Programm Funktionen Mastermind Ende

Auslagern als Funktion

Was ist neu?Es ist nur eine Zeile dazu gekommen

1 d e f a r i thmet ic_mean ( ) :

def = es handelt sich um eine Funktionarithmetic_mean = Funktionsname (dieser ist frei wählbar)(): = Parameter und Ende

20 / 59

Das erste Programm Funktionen Mastermind Ende

Auslagern als Funktion

Bevor wir uns mit den Funktionen weiter beschäftigen, schauen wiruns an, wie wir die Funktion aufrufen können.

1 d e f a r i thmet ic_mean ( ) :2 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]3 e r g e b n i s = 04 f o r i i n numbers :5 e r g e b n i s += i6 e r g e b n i s /= l e n ( numbers )7 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )89

10 ar i thmet ic_mean ( )

Ein einfaches arithmetic_mean() reicht aus um unsere Funktionaufzurufen.

21 / 59

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 denPython Entwicklern für uns geschrieben.

Doch bei dieser Funktion schreiben wir etwas in die RundenKlammern (Das sind die Parameter).

22 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit Parametern

Einbauen von ParameternBis jetzt haben wir:

1 d e f a r i thmet ic_mean ( ) :2 numbers= [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 0 , 3 3 ]3 e r g e b n i s = 04 f o r i i n numbers :5 e r g e b n i s += i6 e r g e b n i s /= l e n ( numbers )7 p r i n t ( "Das␣Arithmetisches␣Mittel␣ist:" , e r g e b n i s s )

Jedoch ergibt es ja wenig Sinn, immer für die gleichen Zahlen denMittelwert zu bestimmen.Besser wäre es, wenn wir die Liste als Parameter bekommenwürden.

1 d e f a r i thmet ic_mean ( numbers ) :2 e r g e b n i s = 03 f o r i i n numbers :4 e r g e b n i s += i5 e r g e b n i s /= l e n ( numbers )6 p r i n t ( "Das␣Arithmetische␣Mittel␣ist:" , e r g e b n i s )

23 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit Parametern

Jetzt sieht der Aufruf unserer Funktion etwas anders aus

1 z a h l e n = [ 1 , 2 , 3 , 4 , 4 5 , 5 , 6 , 8 ]2 ar i thmet ic_mean ( z a h l e n )

Zudem ist es jetzt möglich, von mehreren Listen den Mittelwert zuberechnen.

1 l i s t e 1 = [ 1 , 2 3 , 4 , 5 , 6 , 2 , 4 2 , 6 , 2 , 4 3 , 6 , 8 7 , 2 1 , 7 6 , 3 ]2 l i s t e 2 = [ 4 2 , 4 3 3 , 2 , 1 , 3 , 4 5 , 6 5 , 6 3 2 , 2 3 2 , 5 6 4 , 4 3 , 5 , 2 2 3 , 6 5 ]3 ar i thmet ic_mean ( l i s t e 1 )4 ar i thmet ic_mean ( l i s t e 2 )

24 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit Parametern

Infos zu ParameternEine Funktion kann auch mehrere Parameter bekommen.

1 d e f add ( a , b , c , d , e ) :2 e r g e b n i s s = a + b + c + d + e3 p r i n t ( e r g e b n i s s )

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ärea = 1, b = 2, c = 3, d = 4 und e = 5

25 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit return-Wert

Was ist wenn wir mit dem Ergebnis noch weiter rechnen möchten?Auch dafür gibt es natürlich eine Lösung ;-)

1 d e f a r i thmet ic_mean ( numbers ) :2 e r g e b n i s = 03 f o r i i n numbers :4 e r g e b n i s += i5 e r g e b n i s /= l e n ( numbers )6 r e t u r n e r g e b n i s

Mit dem return können wir Python mitteilen, dass die Funktionhier vorbei ist und dass der Inhalt vom Ergebnis weiter gegebenwerden soll.

26 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit return-Wert

Was müssen wir jetzt am Aufruf verändern?Bis jetzt mussten wir folgendes Schreiben:

1 z a h l e n = [ 1 , 2 , 3 , 4 , 4 5 , 5 , 6 , 8 ]2 ar i thmet ic_mean ( z a h l e n )

Eigentlich nichts. Jedoch sehen wir keine Ausgabe mehr.1 z a h l e n = [ 1 , 2 , 3 , 4 , 4 5 , 5 , 6 , 8 ]2 e rg = ar i thmet ic_mean ( z a h l e n )3 p r i n t ( "Das␣ergebnis␣ist" , e r g )

27 / 59

Das erste Programm Funktionen Mastermind Ende

Funktionen mit return-Wert

Infos zu returnMit dem return endet die Funktion sofort.

1 d e f t e s t ( ) :2 p r i n t ( "erster␣Text" )3 r e t u r n 14 p r i n t ( "zweiter␣Text" )

Bei dieser test-Funktion würde das zweite print nicht ausgeführtwerden.

28 / 59

Das erste Programm Funktionen Mastermind Ende

Das Zweite ProgrammDas erste Programm war sehr klein und zugegebenermaßen auchnicht wirklich interessant. Deswegen werden wir jetzt ein kleinesSpiel programmieren.

Mastermind

29 / 59

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?

30 / 59

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, wiehäufig die richtige Farbe am richtigen Platz war und wiehäufig die richtige Farbe am falschen Platz war.

31 / 59

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 Spielermuss auf die Ausgaben reagieren können.Also benötigen wir eine Eingabe für jede Runde.

32 / 59

Das erste Programm Funktionen Mastermind Ende

Wichtige Fragen

3) Wie sieht die Ausgabe aus?Die Ausgabe können wir mit print realisieren, jedoch brauchenwir 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.

33 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

round_counter = 12

Als Erstes brauchen wir et-

was, um die verbleibende An-

zahl an Runden (Versuchen)

zu zählen.

34 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

Bevor der Spieler raten kann,

muss erstmal eine Farbkom-

bination ausgewählt werden.

35 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

if round_counter < 0: print("You lose")

Wenn der Runden-Zähler auf

0 sinkt, hat der Spieler verlo-

ren.

36 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

if round_counter < 0: print("You lose")

correct answer ? print("You win")

Und wenn die richtige Ant-

wort gegeben wurde, hat er

gewonnen.

37 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

if round_counter < 0: print("You lose")

correct answer ? print("You win")

round_counter -= 1

Der Runden-Zähler muss na-

türlich nach jeder Runde ver-

ringert werden.

38 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

user_input()

if round_counter < 0: print("You lose")

correct answer ? print("You win")

round_counter -= 1

Natürlich muss noch

die Spielereingabe

hinzukommen.

39 / 59

Das erste Programm Funktionen Mastermind Ende

Der Ablauf

chooseStartCode()

round_counter = 12

user_input()

if round_counter < 0:

show_infos()

print("You lose")

correct answer ? print("You win")

round_counter -= 1

Zum Schluss fehlt noch die

Ausgabe, in der die Eingabe

bewertet wird.

40 / 59

Das erste Programm Funktionen Mastermind Ende

Die Implementation

Überführen wir unsere Grafik in Quellcode

1 d e f game_start ( ) :2 round_counter = 123 c o l o r = chooseSta r tCode ( )45 w h i l e 1 :6 i f round_counter <= 0 :7 p r i n t ( "Du␣hast␣verloren.␣Die␣richtige␣Antwort␣waere:" , c o l o r )8 r e t u r n 19 in p = u s e r _ i n p u t ( )

10 r e t = c h e c k I n p u t ( i np )11 i f r e t == 2 :12 p r i n t ( "Du␣hast␣die␣richtige␣Kombination␣erraten␣und␣noch" ,

round_counter , "Runden␣uebrig." )13 r e t u r n 114 i f r e t == 1 :15 round_counter −= 1

41 / 59

Das erste Programm Funktionen Mastermind Ende

Die Implementation

Erstellen von der zu ratenden KombinationDa die Farbeingabe etwas schwieriger ist, lassen wir den Spielerkeine Farben, sondern Zahlen raten. Wir benötigen also 5 Zahlen,die zwischen 1 und 8 liegen.

1 d e f chooseSta r tCode ( ) :2 c o l o r = [ ]3 f o r i i n range ( 0 , 5 ) :4 pas s5 r e t u r n c o l o r6

Wir benötigen jetzt noch Zufallszahlen.

42 / 59

Das erste Programm Funktionen Mastermind Ende

random

randomUm 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üssenihn erst einbinden.Das passiert über:

1 from random impor t rand range

Diese Zeile kommt einfach weit nach oben ins Programm.

43 / 59

Das erste Programm Funktionen Mastermind Ende

Weiter im Programm

Mit der Zeile sieht unsere Funktion dann folgendermaßen aus:

1 d e f chooseSta r tCode ( ) :2 c o l o r = [ ]3 f o r i i n range ( 0 , 5 ) :4 c o l o r . append ( rand range ( 1 , 8 ) )5 r e t u r n c o l o r

Da color eine Liste ist, können wir mit dem Befehl append einfacheine weitere Zahl hinzufügen.

44 / 59

Das erste Programm Funktionen Mastermind Ende

Weiter im Programm

chooseStartCode()

round_counter = 12

user_input()

if round_counter < 0:

show_infos()

print("You lose")

correct answer ? print("You win")

round_counter -= 1

Was uns jetzt noch

fehlt, sind die Funktio-

nen user_input() und

show_infos().

45 / 59

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 ng a b e = i n p u t ( "Was␣haben␣Sie␣zu␣sagen?" )2 p r i n t ( e i n g ab e )

Als Parameter kann die Funktion einen Text bekommen, der vorder Eingabe ausgegeben werden soll.Als Rückgabe bekommt man die Eingabe des Benutzers.

46 / 59

Das erste Programm Funktionen Mastermind Ende

Mastermind

Unsere Input-FunktionUnsere Funktion ist sehr sehr klein. Es ist also nicht nötig sieauszulagern.

1 d e f u s e r _ i n p u t ( ) :2 i n p = i n p u t ( "Eingabe:" )3 r e t u r n i n p

47 / 59

Das erste Programm Funktionen Mastermind Ende

Mastermind

Wie sieht jetzt unsere game Funktion aus?

1 d e f game_start ( ) :2 round_counter = 123 c o l o r = chouseSta r tCode ( )45 w h i l e 1 :6 i f round_counter <= 0 :7 p r i n t ( "Du␣hast␣verloren.␣Die␣richtige␣Antwort␣waere:" , c o l o r )8 r e t u r n 19 p r i n t ( "Runde␣nr.:" , round_counter )

10 i n p = i n p u t ( "Eingabe:" )11 r e t = c h e c k I n p u t ( inp , c o l o r )12 i f r e t == 2 :13 p r i n t ( "Du␣hast␣die␣richtige␣kombination␣erraten␣und␣noch" ,

round_counter , "␣Runden␣uebrig." )14 r e t u r n 115 i f r e t == 1 :16 round_counter −= 1

48 / 59

Das erste Programm Funktionen Mastermind Ende

Mastermind

Überprüfen, ob die Eingabe richtig ist

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 pas s

49 / 59

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?

50 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe TestAm einfachsten ist zu überprüfen, ob die passende Anzahl anZeichen eingegeben wurde.

1 d e f c h e c k I n p u t ( i n p , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 0

51 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe TestEs muss aber noch getestet werden, ob der Spieler nur Zahleneingeben hat. Es gibt vorgefertigte Funktionen, mit denen mantesten kann, ob ein String nur aus Zahlen besteht.

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 04 i f i np . i s d i g i t ( ) i s not True :5 r e t u r n 0

52 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe TestDa wir für jede Zahl testen müssen, ob sie in unserer Kombinationvorkommt, brauchen wir eine for Schleife.

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 04 i f i np . i s d i g i t ( ) i s not True :5 r e t u r n 06 answer = [ ]7 f o r i i n range ( 0 , 5 ) :8 pas s

53 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe TestAls Erstes testen wir, ob die Antwort richtig ist. Wenn sie richtigist, speichern wir uns ein ”P” ab.

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 04 i f i np . i s d i g i t ( ) i s not True :5 r e t u r n 06 answer = [ ]7 f o r i i n range ( 0 , 5 ) :8 i f ( i np [ i ] == s t r ( c o l o r [ i ] ) ) :9 answer . append ( "P" )

54 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe TestWenn die Zahl nicht richtig ist, dann müssen wir noch überprüfen,ob die Zahl an einer anderen Stelle vorkommt. Um das einfach zurealisieren, können wir unsere Liste fragen, wie häufig ein Elementdarin vorkommt.Da unsere Liste aus Zahlen besteht, müssen wir die Eingabe in eineZahl umwandeln.

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 04 i f i np . i s d i g i t ( ) i s not True :5 r e t u r n 06 answer = [ ]7 f o r i i n range ( 0 , 5 ) :8 i f ( i np [ i ] == s t r ( c o l o r [ i ] ) ) :9 answer . append ( "P" )

10 e l i f ( c o l o r . count ( i n t ( i np [ i ] ) ) > 0) :11 answer . append ( "C" )12

55 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Eingabe-TestUm zu wissen, ob die Eingabe komplett richtig ist, können wireinfach zählen, wie viele ”P” in unserer Auswertung vorkommen.Zudem müssen wir den Tipp für den Benutzer ausgeben.

1 d e f c h e c k I n p u t ( inp , c o l o r ) :2 i f ( l e n ( i n p ) i s not 5) :3 r e t u r n 04 i f i np . i s d i g i t ( ) i s not True :5 r e t u r n 06 answer = [ ]7 f o r i i n range ( 0 , 5 ) :8 i f ( i np [ i ] == s t r ( c o l o r [ i ] ) ) :9 answer . append ( "P" )

10 e l i f ( c o l o r . count ( i n t ( i np [ i ] ) ) > 0) :11 answer . append ( "C" )12 i f ( answer . count ( "P" ) == 5 ) :13 r e t u r n 214 p r i n t ( answer )1516 r e t u r n 117

56 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Jetzt fehlt nur noch eine Sache ...... und zwar das Ganze mal auszuprobieren.

1 d e f game_start ( ) :2 round_counter = 123 c o l o r = chouseSta r tCode ( )4 w h i l e 1 :5 i f round_counter < 0 :6 p r i n t ( "Du␣hast␣verlohren␣die␣richtige␣Antwort␣waere:" , c o l o r )7 r e t u r n 18 p r i n t ( "Runde␣nr.:" , round_counter )9 i n p = i n p u t ( "Eingabe:" )

10 r e t = c h e c k I n p u t ( inp , c o l o r )11 i f r e t == 2 :12 p r i n t ( "Du␣hast␣die␣Richtige␣kombination␣erraten␣und␣noch" ,

round_counter , "runden␣uebrig." )13 r e t u r n 114 i f r e t == 1 :15 round_counter −= 1

57 / 59

Das erste Programm Funktionen Mastermind Ende

Eingabe

Herzlichen Glückwunsch.Wir haben jetzt ein Python-Spiel programmiert.

58 / 59

Das erste Programm Funktionen Mastermind Ende

Geschafft

Nun habt ihr einen etwas tieferen Einstieg in Python

Viel Spaß im Tutorium

59 / 59