2017-05-16 1 views
-1

Ich möchte ein Programm schreiben, das einen Würfel würfelt. Jetzt ist es das, was ich habe:Würfelrollensimulator in Python

import random 
print("You rolled",random.randint(1,6)) 

Und ich möchte auch in der Lage sein, so etwas zu tun:

print("Do you want to roll again? Y/N") 

und dann, wenn ich Y drücken es rollt wieder und wenn ich drücken NI beenden Sie die App Danke im Voraus!

+0

Mögliche Duplikate von: http://Stackoverflow.com/q/12608654/198633 – inspectorG4dget

Antwort

1

Lassen Sie uns durch den Prozess gehen: Sie wissen bereits, was Sie brauchen, um Zufallszahlen zu generieren.

  1. import random (oder man könnte präziser sein und from random import randint sagen, weil wir nur randint in diesem Programm benötigen)
  2. Wie Sie bereits gesagt haben; print("You rolled",random.randint(1,6)) "würfelt". aber es tut es nur einmal, also brauchen Sie eine Schleife, um es zu wiederholen. A while loop ruft uns an.
  3. Sie müssen überprüfen, ob der Benutzer Y eingibt. Und Sie können es einfach mit "Y" in input() tun.

Codeversion 1.

import random 
repeat = True 
while repeat: 
    print("You rolled",random.randint(1,6)) 
    print("Do you want to roll again? Y/N") 
    repeat = "Y" in input() 

Code-Version 1.1 (etwas besser)

from random import randint 
repeat = True 
while repeat: 
    print("You rolled",randint(1,6)) 
    print("Do you want to roll again?") 
    repeat = ("y" or "yes") in input().lower() 

In diesem Code ist der Benutzer frei, Strings zu verwenden wie yEs, y, yes, YES und ... um die Schleife fortzusetzen.

Jetzt denken Sie daran, in der Version 1.1, da ich from random import randint anstelle von import random, ich brauche nicht zu sagen, random.randint(1, 6) und einfach radint(1,6) wird die Arbeit machen.

+1

Vielen Dank! Das ist sehr nützlich und einfach! –

0
import random 
min = 1 
max = 6 

roll_again = "yes" 

while roll_again == "yes" or roll_again == "y": 
    print "Rolling the dices..." 
    print "The values are...." 
    print random.randint(min, max) 
    print random.randint(min, max) 

    roll_again = raw_input("Roll the dices again?") 
+2

Sie sollten einige Erklärungen hinzufügen, da Code-only-Antworten hier als minderwertig gelten. –