Python :: Aufgabe #86 :: Lösung #2
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.
#2

von Jan (50 Punkte)
- 21.10.2015 um 07:32 Uhr

import random, time """ 0 - rock 1 - Spock 2 - paper 3 - lizard 4 - scissors """ #Wandelt Nummer vom Computer in den Namen für die Ausgabe um! def numbertoname(number): if number==0: name="Stein" elif number==1: name="Spock" elif number==2: name="Papier" elif number==3: name="Echse" elif number==4: name="Schere" return name #Wandelt den Namen in die Nummer für die Berechung um! def nametonumber(name): if name=="Stein": number=0 elif name=="Spock": number=1 elif name=="Papier": number=2 elif name=="Echse": number=3 elif name=="Schere": number=4 return number #Startet die Berechenung def spiel(name): #Gibt zugehörige Nummer zurück von der Auswahl des Spielers! SpielerNummer=nametonumber(name) #Berechnet die Zufällige Auswahl vom Computer CompNummer=random.randrange(0, 5) #Berechnet Differenz --> Wer gewinnt! Unterschied=(SpielerNummer-CompNummer) % 5 if Unterschied == 0: Gewinner = "Unentschieden!" elif Unterschied == 1: Gewinner = "Spieler gewinnt!" elif Unterschied == 2: Gewinner = "Spieler gewinnt!" elif Unterschied == 3: Gewinner = "Computer gewinnt!" elif Unterschied == 4: Gewinner = "Computer gewinnt!" #Wandelt Auswahl des Computers in den Namen um! CompName=numbertoname(CompNummer) #Ausgabe für den Spieler time.sleep(0.5) print ("Spieler wählt: ", name) print ("Computer wählt: ", CompName) time.sleep(1) print (Gewinner, "\n") time.sleep(0.5) #Anfangsausgabe als Erklärung print ("Wilkommen zu Stein-Schere-Papier-Echse-Spock\n\n") #Spielerklärung print ("Kurze Erklärung, wie das Spiel funktioniert:\n ") print ("Schere schneidet Papier") print ("Papier bedeckt Stein") print ("Stein zerquetscht Echse") print ("Echse vergiftet Spock") print ("Spock zertrümmert Schere") print ("Schere köpft Echse") print ("Echse frisst Papier") print ("Papier widerlegt Spock") print ("Spock verdampft Stein") print ("Stein schleift Schere\n") print ("Bitte wählen Sie einen der Namen aus:\n") print ("0 - Stein") print ("1 - Spock") print ("2 - Papier") print ("3 - Lizard") print ("4 - Schere\n") while True: #Aufforderung an den Spieler eine Zahl einzugeben! decision = int(input("Bitte geben Sie die Nummer ein: ")) #Beendet den Vorgang bei falscher Zahl! if (decision > 4 ) or (decision < 0): print ("Error: It has to be a number between 0 and 4") break #Wandelt die Zahl in den Namen um und startet die Berechnung! name = numbertoname(decision) spiel(name)
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1