2017-05-16 2 views
-1

Je veux écrire un programme qui lance un dé. Maintenant, voici ce que j'ai:Simulateur de roulage de dés en Python

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

Et je veux aussi être capable de faire quelque chose comme ceci:

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

puis si j'appuyez sur Y, il roule à nouveau et si je presse NI quitter la app. Merci d'avance!

+0

Possible copie de: http://stackoverflow.com/q/12608654/198633 – inspectorG4dget

Répondre

1

Parcourons le processus: Vous savez déjà ce dont vous avez besoin pour générer des nombres aléatoires.

  1. import random (ou vous pourriez être plus précis et dire from random import randint, parce que nous avons seulement besoin randint dans ce programme)
  2. Comme vous l'avez déjà dit; print("You rolled",random.randint(1,6)) "roule les dés". mais il le fait une seule fois, donc vous avez besoin d'une boucle pour le répéter. Un while loop nous appelle.
  3. Vous devez vérifier si l'utilisateur entre Y. Et vous pouvez simplement le faire avec "Y" in input().

version du code 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() 

version du code 1.1 (un peu mieux)

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() 

Dans ce code, l'utilisateur est libre d'utiliser des chaînes comme yEs, y, yes, YES et ... pour continuer la boucle.

Rappelez-vous maintenant, dans la version 1.1, car je from random import randint au lieu de import random, je ne dois pas dire random.randint(1, 6) et simplement radint(1,6) fera le travail.

+1

Merci! C'est très utile et facile! –

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

Vous devez ajouter quelques explications, car les réponses à code uniquement sont considérées comme de mauvaise qualité ici. –