RIEN --> le code print "OK!" de la boucle N'EST PAS exécuté parce qu'on a utilisé une liste VIDE (pas d'élément, pas de parcours d'éléments, pas d'exécution de boucle).
Maintenant, reprenons ton code :
avec tous les éléments que je viens de te fournir, que crois-tu que ta boucle for i in range (0,len(list())): fait en réalité ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #création d'un fichier pour enregister la liste sur l'ordinateur fichier=open("QCM.txt","w") for i in range (0,len(list())): fichier.write(("Enoncé: " + liste_questions[i].enonce + "\n Rep1: " + liste_questions[i].rep1 + "\n Rep2: " + liste_questions[i].rep2 +"\n Rep3: " + liste_questions[i].rep3 +"\n Rep Juste: " + str(liste_questions[i].repjuste) + "\n Justification: " + liste_questions[i].justy)) fichier.close()
Qu'est-ce qu'on a vu dans la console Python de IDLE ?
len(list()) ? Python répond : 0
range(0, 0) ? Réponse : []
for element in []: print "OK!" ? Réponse : RIEN
for i in range(0, len(list())): print i ? Réponse : RIEN
Que fera for i in range(0, len(list())): dans ton code, à ton avis ?
La réponse tient en un seul mot...
En somme, tu voudrais parcourir les éléments de la liste liste_questions, mettre chaque question tour à tour dans une variable, puis écrire le contenu de cette variable dans le fichier QCM.txt.
On n'aurait pas vu quelque chose qui y ressemble dans nos essais console Python sur IDLE, par hasard ?
Comment écrirais-tu "je veux parcourir une question à la fois dans liste_questions" sous la forme for ... in ... ?
Normal. On vient juste d'initialiser la variable liste_questions avec une liste Python contenant 3 éléments.
Maintenant, tape dans cette console la boucle for ... in ... qui permettrait d'afficher chaque élément de liste_questions ligne après ligne et dis-moi ce que tu as écrit dans la console ?
bien partie ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 liste_questions = ["quoi ?","comment ?","pourquoi ?"] for element in liste_question[]: print liste_questions
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager