Dieses Programm spielt mit dem User Stein, Schere, Papier
. Dabei werden Punkte vergeben.
Die Umsetzung des Programm verwendet:
- while-Schleife
- if-Abfrage
- Variablen
- Inkrementieren
In dem folgenden Teil führt Schritt-für-Schritt
durch das Flussdiagramm.
Am Ende dieser Anleitung steht das vollständige Programm passend zum Flussdiagramm.
1. Schritt: Die Eingabe (Zeile 1 und 3)
Die Variablen z, g und c werden deklariert. c dient zum Hochzählen
, um die Anzahl der Versuche einzuhalten. p zählt die Punkte vom User und k die Punkte vom Computer
.
from random import *def getGewonnen(): global p p += 1 print("Gewonnen " , str(p) , "/" , str(k))def getVerloren(): global k k += 1 print("Verloren " , str(p) , "/" , str(k))c = 1p = 0k = 0
2. Schritt: Die while-Schleife (Zeile 5 bis 7)
Solange c kleiner 4 (also 3 Versuche) ist, läuft das Spiel durch.
Die Variable n wird mit dem Wert aus "prompt" deklariert.
Der Zähler z erzeugt Zufallszahlen: 1 für Stein, 2 für Schere und 3 für Stein.
from random import *def getGewonnen(): global p p += 1 print("Gewonnen " , str(p) , "/" , str(k))def getVerloren(): global k k += 1 print("Verloren " , str(p) , "/" , str(k))c = 1p = 0k = 0while c < 4:
3. Schritt: Die Abzweigungen (Zeile 21 bis 39) und Funktionen (Zeile 3 bis 11)
Die Zeile 1 lädt die Bibliothek, um die Zufallszahlen generieren zu können.
Da sich die Aussagen wiederholen zu Gewonnen
und Verloren
gibt es zwei Funktionen getVerloren()
und getGewonnen()
. Die Abfrage unterscheidet zunächst, ob ein Unentschieden
gegeben ist. Danach erfolgt die Fallunterscheidung zwischen Gewonnen
und Verloren
.
from random import *def getGewonnen(): global p p += 1 print("Gewonnen " , str(p) , "/" , str(k))def getVerloren(): global k k += 1 print("Verloren " , str(p) , "/" , str(k))c = 1p = 0k = 0while c < 4: z = randint(1, 3) n = int(input('Wähle Stein (1), Schere (2), Papier (3): ')) if z == n: print('Unentschieden ' + str(p) + "/" + str(k)) elif z == 1: if n == 2: getVerloren() else: getGewonnen() elif z == 2: if n == 3: getVerloren() else: getGewonnen() elif z == 3: if n == 1: getVerloren() else: getGewonnen() c += 1
ENDE
# Ein "Hashtag" ergibt einen Zeilenkommentar"""Drei Anführungszeichen am Anfang und Ende ergebeneinen Kommentar auf mehreren Zeilen"""
logischen Operatorenwie && (Und-Verknüpfung) und || (Oder-Verknüpfung) könnte sich der Quellcode vereinfachen lassen, oder?
Sie nutzen einen Browser mit dem tutory.de nicht einwandfrei funktioniert. Bitte aktualisieren Sie Ihren Browser.
Sie verwenden eine ältere Version Ihres Browsers. Es ist möglich, dass tutory.de mit dieser Version nicht einwandfrei funktioniert. Um tutory.de optimal nutzen zu können, aktualisieren Sie bitte Ihren Browser oder installieren Sie einen dieser kostenlosen Browser: