• Hangman mit Python
  • SiberianT
  • 14.03.2023
  • Informatik
  • 9
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.

Wei­ter­ent­wick­lung vom Bild zu einem lauf­fä­hi­gen Pro­gramm

Das Bild

Python
def Zeichnung(fehler):
if fehler == 1:
forward(100)
backward(50)
left(90)
if fehler == 2:
forward(120)
right(90)
if fehler == 3:
forward(50)
right(90)
if fehler ==4:
forward(20)
if fehler == 5:
left(90)
for each in range(60):
forward(1)
right(6)
right(90)
penup()
forward(20)
pendown()
if fehler == 6:
forward(5)
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 7:
forward(30)
if fehler == 8:
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 9:
write("Verlierer")
Un­ter­pro­gramm mit def
Python
from turtle import *
weiter = True
while weiter==True:
f=input("Gib die Fehlerzahl ein")
fehler =int(f)
if fehler == 1:
forward(100)
backward(50)
left(90)
if fehler == 2:
forward(100)
right(90)
if fehler == 3:
forward(50)
right(90)
if fehler ==4:
forward(20)
left(90)
if fehler == 5:
for each in range(60):
forward(1)
right(6)
right(90)
penup()
forward(20)
pendown()
if fehler == 6:
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 7:
forward(30)
if fehler == 8:
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 9:
write("Verlierer")
weiter = False
Hang­man zeich­nen

Eine Datei be­nutzt In­hal­te einer an­de­ren Datei

Diese müs­sen im­por­tiert wer­den

Python
#Importieren der Liste mit den langen Woertern
from worte import nomen
#Importieren der ganzen Zufallszahl
from random import randint
#Importieren der Turtle-Grafik
from turtle import *
Hang­man
Python
print("Hello World.")

Zu­fall

from ran­dom im­port randint

Mit randint kann man eine Zu­falls­zahl er­mit­teln, dabei wird der kleins­te und der größ­te zu wür­feln­de Wert an­ge­ge­ben.

zu­fall = randint(0,55)

Lis­ten

len() heißt Länge

Der Be­fehl len(Ir­gend­was) er­mit­telt die An­zahl der Teile, die in Ir­gend­was ste­cken, also Buch­sta­ben in Strings (Wör­ter) oder Wör­ter in Lis­ten

                        z.B. zu­fall = randint(0,len(nomen)).

Mit nomen haben wir die Liste un­se­rer Ra­te­wör­ter be­zeich­net.

Python
zufall = randint(0,len(nomen))
#print(len(nomen))
print(zufall)
ratewort=nomen[zufall]
print(ratewort)
Die ecki­gen Klam­mern

Eine Liste sind viele aneinander-​geklebte Kar­tons [ ]

nomen[7] -> 7. Wort der Liste nomen

nomen[zu­fall]-> zu­fäl­li­ges Wort der Liste nomen

Python
ratewortliste= list(ratewort)
print(ratewortliste)
sternezahl = len(ratewortliste)
ersatzwortliste = ["*"] * sternezahl
print(ersatzwortliste)
anzeigewort = "".join(ersatzwortliste)
print(anzeigewort)
['*'] * 20

Ich kann einen Kar­ton mit einem oder meh­re­ren Zei­chen fül­len und dann z.B. mit 20 mul­ti­pli­zie­ren, dann be­kom­me ich eine Liste mit 20 die­ser Zei­chen.

list(Ir­gend­was)

Mit list(Ir­gend­was) kann ich aus Ir­gend­was eine Liste ma­chen

See­hund wird zu ['S', 'e', 'e', 'h', 'u', 'n', 'd']

Alle rich­ti­gen Buch­sta­ben er­set­zen

Python
def ersetzen(Buchstabe):
i = 0
while i< len(ratewort):
if Buchstabe==ratewortliste[i]:
ratewortliste[i]="*"
ersatzwortliste[i]=Buchstabe
i = i+1
Ge­fun­de­ne(n) Buch­sta­ben er­set­zen.
Python
Fehler = 0;
weiter=True
while weiter:
Buchstabe = input("Gib einen Buchstaben ein: ")
if Buchstabe in ratewortliste:
ersetzen(Buchstabe)
else:
Fehler = Fehler +1
Zeichnung(Fehler)
print(ratewortliste)
print(ersatzwortliste)
#anzeigewort = "".join(ersatzwortliste)
print(anzeigewort)
print(Fehler)
if Fehler >8:
weiter=False
Jetzt geht es los
Python
from worte import nomen
from random import randint
from turtle import *
zufall = randint(0,len(nomen))
print(zufall) #spaeter auskommentieren
ratewort=nomen[zufall]
print(ratewort) #spaeter auskommentieren
ratewortliste= list(ratewort)
print(ratewortliste) #spaeter auskommentieren
sternezahl = len(ratewortliste)
ersatzwortliste = ["*"] * sternezahl
print(ersatzwortliste)
anzeigewort = "".join(ersatzwortliste)
print(anzeigewort)
def ersetzen(Buchstabe):
i = 0
while i< len(ratewort):
if Buchstabe==ratewortliste[i]:
ratewortliste[i]="*"
ersatzwortliste[i]=Buchstabe
i = i+1
def istDrin(Buchstabe):
drin = False
if Buchstabe in ratewortliste:
drin = True
return drin
Hang­man Teil 1
Python
def Zeichnung(fehler):
if fehler == 1:
forward(100)
backward(50)
left(90)
if fehler == 2:
forward(120)
right(90)
if fehler == 3:
forward(50)
right(90)
if fehler ==4:
forward(20)
if fehler == 5:
left(90)
for each in range(60):
forward(1)
right(6)
right(90)
penup()
forward(20)
pendown()
if fehler == 6:
forward(5)
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 7:
forward(30)
if fehler == 8:
right(35)
forward(25)
backward(25)
left(70)
forward(25)
backward(25)
right(35)
if fehler == 9:
write("Verlierer")
Teil 2
Python
Fehler = 0;
weiter=True
while weiter:
Buchstabe = input("Gib einen Buchstaben ein: ")
if Buchstabe in ratewortliste:
ersetzen(Buchstabe)
else:
Fehler = Fehler +1
Zeichnung(Fehler)
print(ratewortliste)
print(ersatzwortliste)
#anzeigewort = "".join(ersatzwortliste)
print(anzeigewort)
print(Fehler)
if Fehler >8:
weiter=False
Teil 3
Python
nomen = ['Elefant', 'Giraffe', 'Krokodil',
'Flamingo', 'Eichhörnchen',
'Schildkröte', 'Pinguinei',
'Ameisenbär', 'Gorillababy',
'Känguru','Nashorn', 'Schneeleopard',
'Fledermaus','Seekuh', 'Seepferdchen',
'Wasserschwein','Schornsteinfeger',
'Sonderkommission','Bastlerbedarf',
'Versuchsreihe''Seehund', 'Raubtier',
'Walross', 'Rentier', 'Wundermittel',
'Musterschüler', 'Wasservogel', 'Flamingos',
'Maulwurf', 'Orang-Utan', 'Biberburg',
'Krokodils','Fischreiher', 'Gelatine'
'Gazelle', 'Lemming', 'Pavianhintern',
'Dachs', 'Nacktmull', 'Eisbär', 'Sommerresidenz',
'Seemannsgarn', 'Kaulquappe', 'Stinktier',
'Tintenfisch', 'Dromedar', 'Toucan',
'Faultier', 'Mungo', 'Mausoleum', 'Kamelmesse',
'Bandwurm', 'Kaninchen', 'Igel', 'Säbelzahn',
'Leopardenmuster', 'Schnabeltier',
'Gazellen', 'Krokodile', 'Seepferdchen',
'Schneckenhaus', 'Eidechse',
'Sonderbehandlung','Blumenstrauß',
'Tatortreiniger','Hinterausgang',]
Die Datei worte, die im Hang­man im­por­tiert wird.
x