Python :: Aufgabe #86 :: Lösung #6
9 Lösungen

#86
Stein, Papier, Schere, Echse, Spock
Anfänger - Python
von Energy
- 24.09.2015 um 15:22 Uhr
Programmiere das Spiel Stein, Papier, Schere, Echse, Spock, sodass man selbst eine Figur auswählen kann und der Computer eine zufällige Figur auswählt. Ermittele dann, wer diese Partie gewonnen hat.
#6

von BlueBite (100 Punkte)
- 02.03.2016 um 22:11 Uhr

# Bei der Eingabe gibt es keine Fehlerkontrolle - aber das kann ja der nächste # Programmierer optimieren ;) eingabe = raw_input("Stein, Papier, Schere, Echse, Spock - Wähle weise!: ") eingabe = eingabe.lower() # Folgende Listen können miteinander addiert werden und die Gewinner lassen sich # daraus ableiten stein = [0, -1, 1, 1, -1, "Stein", "stein"] papier = [1, 0, -1, -1, 1, "Papier", "papier"] schere = [-1, 1, 0, 1, -1, "Schere", "schere"] echse = [-1, 1, -1, 0, 1, "Echse", "echse"] spock = [1, -1, 1, -1, 0, "Spock", "spock"] auswahl = [stein, papier, schere, echse, spock] counter = 0 # Die Eingabe des Users wird verglichen mit den Listen und die korrekte Liste # wird dem User zugeordnet (in der Variable a) for i in auswahl: if eingabe == i[6]: a = auswahl[counter] else: counter += 1 # Der Computer wöhlt per Zufall eine Zahl zwischen 0 und 4 und diese # Liste wird dem Computer zugeordnet (Variable b) computerchoice = int(random()*100/20) b = auswahl[computerchoice] # Es werden nun die Listen aufsummiert und gesehen, wer gewonnen hat for i in range(5): if a[i]+b[i] == 1 and a[i] == 1: print "Du hast mit %s gegen den Computer mit %s gewonnen!" % (a[5], b[5]) break elif a[i]+b[i] == 1 and b[i] == 1: print "Der Computer hat mit %s gegen dich und deinem Zeichen %s gewonnen :-(" % (b[5], a[5]) break elif i == 4: print "Ihr habt beide das gleiche Zeichen gewählt, nämlich %s" % a[5] break
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1