2016-10-23 5 views
0

Ich versuche, einen Würfeltosser für meinen Neffen zu machen, damit er Brettspiele ohne Würfel spielen kann. Ich bin in einer while-Schleife stecken geblieben, selbst wenn ich eine Bedingung eintrage, die wahr ist. Ich versuche, ihn dazu zu bringen, auszuwählen, welche Würfel er verwenden möchte, aber wenn er einen falschen Würfel auswählt, bittet er ihn, ihn erneut einzugeben. mein Code ...Stuck in while Schleife

dice_select = input('Enter the amount of sides are on the dice you want to throw, either 4, 6, or 12: ') 
while dice_select != 4 or dice_select != 6 or dice_select != 12: 
    dice_select = int(input('Sorry thats not quite right. Enter the amount of sides are on the dice you want to throw, either 4, 6, or 12: ')) 

wenn i 4 eingeben, 6 oder 12 dann noch es mich in die Schleife stellt, wenn angenommen wird, fortzusetzen.

+0

Die einzige Möglichkeit, dass die Bedingung falsch sein könnte, wäre, wenn 'dice_select' gleich 4, 6 und 12 gleichzeitig ist. –

+0

lesen Sie Ihren Zustand erneut. Bewerten Sie es für die Werte, die Sie suchen. Was passiert, wenn 'dice_select'' 4' ist? – njzk2

Antwort

2

Dieses Versuchen:

dice_select = int(input('Enter the amount of sides are on the dice you want to throw, either 4, 6, or 12: ')) 
    while not (dice_select == 4 or dice_select == 6 or dice_select == 12): 
     dice_select = int(input('Sorry thats not quite right. Enter the amount of sides are on the dice you want to throw, either 4, 6, or 12: ')) 

Das bedeutet, Schleife, bis dice_select gleich 4, 6 oder 12

Mit Ihrem Programm, Ihre while-Schleife Bedingung immer wahr ist, weil, wenn es gleich 4 ist, Ihr Programm prüft falsch oder wahr oder wahr, was immer wahr sein wird.

Mit anderen Worten sucht Ihr Programm, wenn dice_select gleich 4,6 und 12 zur gleichen Zeit ist. Was nicht möglich ist.

+0

Hallo Danke für die Antwort. Ich bekomme jetzt diese – Lomore

+0

Geben Sie die Anzahl der Seiten sind auf dem Würfel, die Sie werfen möchten, entweder 4, 6 oder 12: 12 Sorry, das ist nicht ganz richtig. Geben Sie die Anzahl der Seiten ein, die auf die Würfel geworfen werden sollen, entweder 4, 6 oder 12: 12 Sie haben einen 12 seitigen Würfel geworfen und das Ergebnis ist 1 – Lomore

+0

Weil Sie in Ihrer ersten Aussage Ihre Eingabe nicht konvertieren eine ganze Zahl, dann würden Sie eine Zeichenfolge und eine Ganzzahl vergleichen, die in Python immer falsch ist. Ich werde meinen obigen Code bearbeiten, um dies zu berücksichtigen. – creeperdomain