2017-04-30 2 views
-2

Comment est-ce que je peux relancer cette instruction après que le dé soit roulé (après que la réponse «m» ait été tapée)?Comment relancer cette instruction après le lancement des dés?

import numpy as np 

print"Type 'm' to roll a dice." 

answer = raw_input("> ") 
if answer == "m": 
    print(np.random.randint(1, 7)) 
else: 
    print"Error" 
+0

Vous voudrez peut-être regarder dans les structures de contrôle de Python, cf. par exemple. https://interactivepython.org/runestone/static/pythonds/Introduction/ControlStructures.html – fuglede

Répondre

1

Enveloppez autour while déclaration comme ceci:

import numpy as np 

while True: 
    print "Type 'm' to roll a dice." 
    answer = raw_input("> ") 
    if answer == "m": 
    print(np.random.randint(1, 7)) 
    else: 
    print"Error" 
    break 
+0

Ils veulent le refaire seulement pour le cas '" m "', comme je l'ai lu. – fuglede

1
stop = False 

while stop == False: 
    answer = raw_input("> ") 
    if answer == "m": 
     print(np.random.randint(1, 7)) 
    else: 
     print"Error" 
     stop = True 
+0

Serait plus lisible pour l'écrire 'while not stop:'. – martineau

1

Dans ma réponse, je suppose que vous vouliez mettre fin au programme lorsque l'utilisateur n'a pas tapez un « m », mais cas que vous voulez garder en cours d'exécution, le bloc while est suffisant

while True: 
    answer = raw_input("> ") 
     if answer == "m": 
      print(np.random.randint(1, 7)) 
     else: 
      print"Error" 
      exit() 
0

Vous pourriez tout encapsuler dans aw boucle ien, comme suit:

while True: 
    answer = raw_input("Type 'm' to roll a dice: \n> ") 
    if answer == "m": 
     print(np.random.randint(1, 7)) 
    else: 
     print"Error" 

De cette façon, chaque fois que l'utilisateur entre « m », l'appel np.random fonctionnera. S'ils entrent quelque chose, il affichera "Erreur", puis relancera la boucle en leur demandant d'entrer "m".