Название: Routineaufgaben mit Python automatisieren
Автор: Al Sweigart
Издательство: Bookwire
Жанр: Математика
isbn: 9783960889571
isbn:
Ein kurzes Programm: Stein, Schere, Papier
Mit den bisher erlernten Programmiertechniken wollen wir nun das einfache Spiel »Stein, Schere, Papier« umsetzen. Die Ausgabe soll wie folgt aussehen:
ROCK, PAPER, SCISSORS
0 Wins, 0 Losses, 0 Ties
Enter your move: (r)ock (p)aper (s)cissors or (q)uit
p
PAPER versus...
PAPER
It is a tie!
0 Wins, 1 Losses, 1 Ties
Enter your move: (r)ock (p)aper (s)cissors or (q)uit
s
SCISSORS versus...
PAPER
You win!
1 Wins, 1 Losses, 1 Ties
Enter your move: (r)ock (p)aper (s)cissors or (q)uit
q
Geben Sie den folgenden Quellcode in den Dateieditor ein und speichern Sie ihn als rpsGame.py:
import random, sys
print('ROCK, PAPER, SCISSORS')
# Diese Variablen halten die Anzahl der Siege, Niederlagen und
# Unentschieden fest.
wins = 0
losses = 0
ties = 0
while True: # Hauptschleife des Spiels.
print('%s Wins, %s Losses, %s Ties' % (wins, losses, ties))
while True: # Schleife für die Eingabe des Spielers.
print('Enter your move: (r)ock (p)aper (s)cissors or (q)uit')
playerMove = input()
if playerMove == 'q':
sys.exit() # Beendet das Programm.
if playerMove == 'r' or playerMove == 'p' or playerMove == 's':
break # Beendet die Eingabeschleife.
print('Type one of r, p, s, or q.')
# Zeigt die Wahl des Spielers an:
if playerMove == 'r':
print('ROCK versus...')
elif playerMove == 'p':
print('PAPER versus...')
elif playerMove == 's':
print('SCISSORS versus...')
# Zeigt die Wahl des Computers an:
randomNumber = random.randint(1, 3)
if randomNumber == 1:
computerMove = 'r'
print('ROCK')
elif randomNumber == 2:
computerMove = 'p'
print('PAPER')
elif randomNumber == 3:
computerMove = 's'
print('SCISSORS')
# Zeigt und speichert Sieg/Niederlage/Unentschieden:
if playerMove == computerMove:
print('It is a tie!')
ties = ties + 1
elif playerMove == 'r' and computerMove == 's':
print('You win!')
wins = wins + 1
elif playerMove == 'p' and computerMove == 'r':
print('You win!')
wins = wins + 1
elif playerMove == 's' and computerMove == 'p':
print('You win!')
wins = wins + 1
elif playerMove == 'r' and computerMove == 'p':
print('You lose!')
losses = losses + 1
elif playerMove == 'p' and computerMove == 's':
print('You lose!')
losses = losses + 1
elif playerMove == 's' and computerMove == 'r':
print('You lose!')
losses = losses + 1
Sehen wir uns diesen Code nun Zeile für Zeile an:
import random, sys
print('ROCK, PAPER, SCISSORS')
# Diese Variablen halten die Anzahl der Siege, Niederlagen und
# Unentschieden fest.
wins = 0
losses = 0
ties = 0
Als Erstes importieren wir hier die Module random und sys, damit das Programm die Funktionen random.randint() und sys.exit() aufrufen kann. Außerdem richten wir drei Variablen ein, damit sich das Programm merken kann, wie oft der Spieler gewonnen, verloren oder ein Unentschieden erzielt hat.
while True: # Hauptschleife des Spiels.
print('%s Wins, %s Losses, %s Ties' % (wins, losses, ties))
while True: # Schleife für die Eingabe des Spielers.
print('Enter your move: (r)ock (p)aper (s)cissors or (q)uit')
playerMove = input()
if СКАЧАТЬ