2017-08-18 1 views
0
ayy = 0 

while True:   
    ayy = ayy + 1         

    print(Randoz(a,b,c,d))   
    if ayy % 3 == 0:     

    omg = input('Do you wish to stop the loop?, if yes type yes, if not, type no') 

    if omg == 'yes':       
    break  

    if omg == '': 
    ayy = ayy     

J'essaie de faire une boucle qui tous les 3 tours s'arrête et demande à l'utilisateur s'il veut rompre, et d'avoir une option pour Ne rien faire et continuer la boucle, je ne peux pas sembler comprendre comment continuer sans l'utilisateur de faire quoi que ce soit, je dois appuyer sur Entrée pour faire une autre boucle.
Randoz est une fonction que j'ai faite, non pertinente.Python - comment continuer une boucle avec absolument aucune entrée, y compris entrer le coup de clé

+1

Eh bien, soit vous voulez une entrée utilisateur, soit vous ne voulez pas. Avoir les deux ne semble pas être une solution –

+1

@omu_negru Vous pouvez avoir une solution _timeout_ comme décrit [ici] (https://stackoverflow.com/questions/1335507/keyboard-input-with-timeout-in-python) ou [ ici] (https://stackoverflow.com/questions/15528939/python-3-timed-input) –

+0

Copie possible de [Python 3 Timed Input] (https://stackoverflow.com/questions/15528939/python-3- entrée temporisée) –

Répondre

0

Vous pouvez utiliser le code suivant pour démarrer une boucle qui se déroulera à jamais et ne quitter lorsque l'utilisateur ajoute 'y' ou 'Y' lorsque vous êtes invité pour l'entrée de chaque troisième itération

import itertools 
for i in itertools.count(1): 
    print(Randoz(a,b,c,d)) 
    if i % 3 == 0: 
     quit = input('Do you want to quit? y/n') 

     if quit.lower() == 'y': 
      break 

de sortie Exemple avec des itérations en cours d'impression:

1 
2 
3 
Do you want to quit? y/n 
4 
5 
6 
Do you want to quit? y/n 
7 
8 
9 
Do you want to quit? y/n 
10