Uppgift:
"Skriv ett program som låter användaren spela hänga gubben. Varje gång användaren missar en bokstav ska en ”grafisk” bild över den ”hängda gubben” skrivas ut. Programmet ska även hålla koll på antalet gissningar och, om man vill, kunna slumpa fram ett ord från några inkodade förvalda. Den grafiska bilden blir ascii- grafik, dvs med tecken på tangentbordet."
start=["",
"==============================================================",
"==============================================================",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX) * * * * * * * * * *",
" _ _|_ _ (XX) * Välkommen * ",
" ( 0 0 ) (X) * till * ",
" ( * ) (X) * Hänga gubbe! * ",
" (_____) (X) * * * * * * * * * *",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (xX) (XXX) (Xx) (X)",
" (X) (XXX) (X) (X) * * * * * * * * * * * * * * * * * * ",
" (x) (XXX) (x) (X) * Stort lycka till! * ",
" (XXX) (X) * * ",
" (XX) (XX) (X) * * ",
" (XX) (XX) (X) * * * * * * * * * * * * * * * * * *",
" (X) (X) (X) ",
" (x) (x) (X)",
" ===X=X) (X=X=== (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"============================================================",
"============================================================"]
print("\n".join(start))
stjärna=["",
"",
" XXX",
" XXXXX",
" XXXXXXx XXXXXXXX XXXXXX",
" XXXXXXXx XXXXXXXXXX XXXXXXXX",
" XXXXXXXXx xXXXXXXXXXXXXXXx xXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
" XXXXXXXXXXX XXXXXXXXXXX XXXXXXXX",
" XXXXXXXX XXXXXXXXX XXXXXXXXXX",
" XXXXXX XXXXXXX XXXXXX",
" XXXX XXXXX XXXX",
" XXXX",
"",
"",
"",
" ",
" ",
" ",
" ",
"=========================================================================",
"========================================================================="]
tom=["",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""]
bild1= ["",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"===================================================================",
"==================================================================="]
bild2=["",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"=========================================================================",
"========================================================================="]
bild3=["",
"",
"",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"======================================================================",
"======================================================================"]
bild4=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" |xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (XXXXXX)",
" (XXXX)",
" (XX)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"====================================================================",
"===================================================================="]
bild5=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" (x) (XX)",
" (x) (X)",
" (x) (X)",
" (X) (X)",
" (X) (X)",
" (X) (X)",
" (X) (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"=================================================================",
"================================================================="]
bild6=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( ) (X)",
" ( ) (X)",
" (_____) (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"=================================================================",
"================================================================="]
bild7=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( ' ) (X)",
" (_____) (X)",
" | | (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"==================================================================",
"=================================================================="]
bild8=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (XXX) (X)",
" (XXX) (X)",
" (XXX) (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"==================================================================",
"=================================================================="]
bild9=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (xXXXXXXXXXXXx) (X)",
" (XXX) (Xx) (X)",
" (XXX) (X) (X)",
" (XXX) (x) (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"=================================================================",
"================================================================="]
bild10=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (xX) (XXX) (Xx) (X)",
" (X) (XXX) (X) (X)",
" (x) (XXX) (x) (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"================================================================",
"================================================================"]
bild11=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (xX) (XXX) (Xx) (X)",
" (X) (XXX) (X) (X)",
" (x) (XXX) (x) (X)",
" (XXX) (X)",
" (XX) (X)",
" (XX) (X)",
" (X) (X)",
" (x) (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"================================================================",
"================================================================"]
bild12=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( 0 0 ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (xX) (XXX) (Xx) (X)",
" (X) (XXX) (X) (X)",
" (x) (XXX) (x) (X)",
" (XXX) (X)",
" (XX) (XX) (X)",
" (XX) (XX) (X)",
" (X) (X) (X)",
" (x) (x) (X)",
" (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"===============================================================",
"==============================================================="]
bild13=["",
"",
"",
" ",
" _____",
" _____________________/xxxxx)",
" (xxxxxxxxxxxxxxxxxxxxxxxxxx)",
" (x) (XXXXXX)",
" (x) (XXXX)",
" _ _|_ _ (XX)",
" ( X X ) (X)",
" ( * ) (X)",
" (_____) (X)",
" _ | | _ (X)",
" (XXXXXXXXXXX) (X)",
" (xX) (XXX) (Xx) (X)",
" (X) (XXX) (X) (X)",
" (x) (XXX) (x) (X)",
" (XXX) (X)",
" (XX) (XX) (X)",
" (XX) (XX) (X)",
" (X) (X) (X)",
" (x) (x) (X)",
" ===X=X) (X=X=== (XX)",
" (XXXX)",
" /XXXXXXXXXX)",
" /XXXXXXXXXXXX)",
" /XXXXXXXXXXXXXX)",
" /XXXXXXXXXXXXXXXX)",
"=================================================================",
"================================================================="]
bild_lista= [bild1, bild2, bild3, bild4, bild5, bild6, bild7, bild8, bild9, bild10, bild11, bild12, bild13]
bokstäver_som_streck=""
print("Nu har du möjligheten att välja svårighetsgrad:")
while True:
val=input("lätt, medel, svår eller supersvår:")
import random
svar= random.randint(0,6)
if val=="lätt":
lätt=["hej","stad", "bord", "land", "alla", "stol", "bil"]
rätta_svaret=(lätt[svar])
for i in rätta_svaret:
bokstäver_som_streck+="_ "
break
elif val=="medel":
medel=["motstånd", "höghus","lärartavla", "glasögon","skolkorridor", "glasögon", "yxa"]
rätta_svaret=(medel[svar])
for i in rätta_svaret:
bokstäver_som_streck+="_ "
break
elif val=="svår":
svår=["administrationsavgiften", "proteinsyntes", "periferi", "resiliens", "kromatografi", "transkription", "translation" "hetrozygot"]
rätta_svaret=(svår[svar])
for i in rätta_svaret:
bokstäver_som_streck+="_ "
break
elif val =="supersvår":
print("Du valde supersvår, ordet behöver inte bara innehålla bokstäver, utan även siffror, kommatecken osv.")
supersvår= ["3,4-metylinmetamfetamin", "nationalencyklopedin", "buksportkörteln", "adenosintrifosfat", "nomanilasering", "semipermeabelt","neurotransmittorer"]
rätta_svaret=(supersvår[svar])
for i in rätta_svaret:
bokstäver_som_streck+="_ "
break
else:
print("(nu hände något tokigt)")
print("\n".join(tom))
print("Du har nu fått ett ord med totalt", len(rätta_svaret), "bokstäver")
print(bokstäver_som_streck)
antal_försök=0
rätta_bokstäver=[]
feltestade_bokstäver=[]
linje= "_" * len(rätta_svaret)
linje=list(linje)
def linje_till_sträng(linje):
# lägger till en tom sträng
y = ""
for i in linje:
y += i + " "
return y
while True:
gissning= input("gissa på en bokstav:")
if gissning in rätta_bokstäver:
print("Du har redan testat bokstaven", gissning)
if gissning in rätta_svaret:
rätta_bokstäver.append(gissning)
if gissning not in rätta_bokstäver:
print("snyggt, den bokstaven finns")
räknare=0
for indexplats in rätta_svaret:
if indexplats==gissning:
linje[räknare]=gissning + " "
räknare+=1
print(linje_till_sträng(linje))
if "_" not in linje:
#om inga understärck "_" finns i listan har användaren gissat rätt.
print("Syggt gjort, du lyckades")
print("\n".join(stjärna))
break
else:
print("Den bokstaven finns inte")
if gissning not in feltestade_bokstäver:
feltestade_bokstäver.append(gissning)
print("\n".join(bild_lista[antal_försök]))
print("Här nedan finns alla dina felgissade bokstäver")
antal_försök= antal_försök+1
else:
print("Du har redan testat bokstaven", gissning)
print(feltestade_bokstäver)
if antal_försök >=0:
print(linje_till_sträng(linje))
if antal_försök==12:
print("Du misslyckades")
print("\n".join(bild13))
break
print("Ordet",rätta_svaret, "var rätt")
Hoppas det hjälper nån :)