Archiv verlassen und diese Seite im Standarddesign anzeigen : Dumme Python-Frage
Ich will Stein-Papier-Schere programmieren und für den letzten Spielzug sprechende Zustände verwenden, also win, draw und loss. Sollte ich da irgendwie Konstanten nutzen die Integers beinhalten, oder geht das eleganter?
Monger
2017-08-11, 22:01:38
https://stackoverflow.com/questions/13293703/how-to-use-unions-with-python
Dr.Doom
2017-08-14, 11:23:32
Ja, klar...
'ne Factory, ein paar Entwurfsmuster und Mehrfachvererbung MUSS da auch noch mit rein.
Nagelbrett
2017-08-14, 18:24:33
Falls du Python 3 machst, gibt's dort enums: https://en.wikipedia.org/wiki/Enumerated_type#Python_3.4
Das wäre ein bisschen schicker als Konstanten zu verwenden.
nalye
2017-08-14, 18:29:20
Das hier ist ganz nett und nicht hart rumgewurschtelt mit irgendwelchen harten elif-Gebilden
import random
ROCK, PAPER, SCISSORS = 1, 2, 3
names = 'ROCK', 'PAPER', 'SCISSORS'
def beats(a, b):
if (a,b) in ((ROCK, PAPER), (PAPER, SCISSORS), (SCISSORS, ROCK)):
return False
return True
print "Please select: "
print "1 Rock"
print "2 Paper"
print "3 Scissors"
player = int(input ("Choose from 1-3: "))
cpu = random.choice((ROCK, PAPER, SCISSORS))
if cpu != player:
if beats(player, cpu):
print "player won"
else:
print "cpu won"
else:
print "tie!"
print names[player-1], "vs", names[cpu-1]
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.