2017-11-30 2 views
-1

Ich erschaffe das Mastermind-Spiel und ich bin auf einigen "wenn" Aussagen stecken ich versuche, es dem Benutzer sagen, dass, wenn die Farbe nicht das gleiche wie in guess1 ist, aber das richtige ist Farbe ist guess2 es wird print "guess 1 right color wrong position"Mastermind Erholung, wenn Aussagen stecken

Python V 2.7.8

colors = ('R','B','G','P','Y','O') 
Color1 = random.choice(colors) 
Color2 = random.choice(colors) 
Color3 = random.choice(colors) 
Color4 = random.choice(colors) 
guess1 = raw_input("First Color: ") 
guess2 = raw_input("Second Color: ") 
guess3 = raw_input("Third Color: ") 
guess4 = raw_input("Fourth Color: ") 
guesses = (guess1,guess2,guess3,guess4) 
Allcolors = (Color1,Color2,Color3,Color4) 

if guesses == Allcolors: 
     print "All colors are correct!" 
    if guesses != Allcolors: 
#### 
     if guess1 == Color2 or Color3 or Color4: 
      print "Guess 1 right color wrong position" 
     if guess1 == Color1: 
      print "Color 1 is correct" 
#### 
     if guess2 == Color2: 
      print "Color 2 is correct" 
     if guess3 == Color3: 
      print "Color 3 is correct" 
     if guess4 == Color4: 
      print "Color 4 is correct" 
+0

Ist die Vertiefung hier identisch mit der Vertiefung des lokalen Code? Wenn ja, sehen Sie, wie Sie niemals sowohl "Vermutungen == Allfarben" als auch "Vermutungen! = Allfarben" haben werden –

Antwort

0
if guess1 == Color2 or Color3 or Color4: 

Das funktioniert nicht. Sie haben die Variable zu wiederholen:

if guess1 == Color2 or guess1 == Color3 or guess1 == Color4: 

Sie auch in Operator in einem Behälter suchen verwenden können:

if guess1 in (Color2, Color3, Color4):