Mettre une boucle For (in range) dans une condition If
Résolu
Oxy_
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Oxy_ Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Oxy_ Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je commence à programmer sur python et suis bloqué sur le problème décrit dans le titre : je voudrai mettre une boucle
Voici mon programme :
Pour expliquer rapidement, le programme est bloqué par
ex : si m=4, liste = ['1', '2', '3', '4']
Je voudrai mettre dans dans la condition
Cependant je ne sais pas comment mettre une boucle for dans une condition if, d'où mon post sur ce forum !
Merci d'avance !
Je commence à programmer sur python et suis bloqué sur le problème décrit dans le titre : je voudrai mettre une boucle
for in range... dans une condition
if
Voici mon programme :
Pour expliquer rapidement, le programme est bloqué par
whiletant que l'utilisateur ne rentre pas une réponse attendue (Q sert de condition pour bloquer while). Le nombre de réponses attendues est
met les réponses sont dans
liste.
ex : si m=4, liste = ['1', '2', '3', '4']
liste = [] for o in range(m): liste.append(str(o+1)) #je mets str() car la sortie de input() est une variable de type string Q=0 while Q!=1: réponse=input('>') if (??): Q+=1
Je voudrai mettre dans dans la condition
ifligne 8 quelque chose du genre :
for x in range(m): liste.pop(x+1)
Cependant je ne sais pas comment mettre une boucle for dans une condition if, d'où mon post sur ce forum !
Merci d'avance !
1 réponse
Bonjour,
Je n'ai pas vraiment saisi ce que tu veux faire. Tester la réponse de l'utilisateur par rapport aux valeurs de la liste ? Si c'est le cas :
On pourrait aussi se passer de créer la liste :
comme on convertit l'input en int() suivant la rigueur du code nécessaire, on pourrait avoir besoin de gérer les erreurs si on ne saisit pas un nombre (avec try: except:)
Je n'ai pas vraiment saisi ce que tu veux faire. Tester la réponse de l'utilisateur par rapport aux valeurs de la liste ? Si c'est le cas :
m = 4 liste = [] for o in range(m): liste.append(str(o+1)) #je mets str() car la sortie de input() est une variable de type string print(liste) while True: reponse=input('>') if reponse in liste: break print('Saisie correcte')
while Trueest une boucle infinie.
breaksert à sortir de la boucle
while.
On pourrait aussi se passer de créer la liste :
while True: reponse=int(input('>')) if reponse in range(1,m+1): break print('Saisie correcte', reponse)
comme on convertit l'input en int() suivant la rigueur du code nécessaire, on pourrait avoir besoin de gérer les erreurs si on ne saisit pas un nombre (avec try: except:)
J'ai cherché beaucoup trop compliqué alors que la réponse était toute simple. Je retiens également le , très pratique !
Merci beaucoup je vais pouvoir continuer mon programme !