Récupérer enter

bowbz Messages postés 8 Date d'inscription jeudi 21 décembre 2000 Statut Membre Dernière intervention 2 octobre 2009 - 10 sept. 2008 à 09:11
 Utilisateur anonyme - 15 sept. 2008 à 19:54
Bonjour,

Je débute sous python et j'aurai besoin d'un petit conseil.

Dans un exo de mon cours, on demande d'écrire un script qui attend une valeur qu'on doit mettre dans une liste et cela en boucle tant qu'on a pas tapé sur la touche enter. Quelque chose du genre

while ("pas enter"):
   item = raw_input ("Veuillez entrer une valeur ")
   liste.append(item)

Le problème c'est que je ne sais pas comment dire au script le "pas enter".
Pouvez-vous m'aider ?

Merci d'avance

8 réponses

cs_lucky84 Messages postés 7 Date d'inscription jeudi 21 décembre 2000 Statut Membre Dernière intervention 14 janvier 2009
12 sept. 2008 à 19:23
Tu pourrais mettre:

while (nom_de_ta_valeur == 0):
   item = raw_input ("Veuillez entrer une valeur ")
   liste.append(item)
0
bowbz Messages postés 8 Date d'inscription jeudi 21 décembre 2000 Statut Membre Dernière intervention 2 octobre 2009
12 sept. 2008 à 20:17
Cela ne marche pas, le résultat est la sortie immédiate du script.

Mais j'ai trouvé une façon de faire, je poste pour les suivants...

liste = []
item =''

while True:
    item = raw_input("Veuillez entrer une valeur : ")
    if item == '':
        break
    liste.append(item)
print liste


Je ne sais pas si c'est la seule (je ne pense pas), si elle est portable, mais ça marche.
0
Utilisateur anonyme
13 sept. 2008 à 19:05
Salut

Tu peux m'expliquer comment tu stoppes ta boucle?
0
Utilisateur anonyme
13 sept. 2008 à 19:29
Un truc du genre là ca doit marcher

#!/usr/bin/env python
#_*_ coding:utf-8 _*_

liste=[]
item=0
while item!="stop":
    item=raw_input('Entrer votre valeur :')
    liste.append(item)
print liste

Tant que tu n'ecris pas stop il continue a te demander une valeur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bowbz Messages postés 8 Date d'inscription jeudi 21 décembre 2000 Statut Membre Dernière intervention 2 octobre 2009
15 sept. 2008 à 09:53
On sort de la boucle quand l'utilisateur ne rentre rien avant d'appuyer sur enter, c'est le

if item == '':
   break


qui le fait.

As-tu essayé mon code car chez moi ça marche bien ?

Bon début de semaine
0
Utilisateur anonyme
15 sept. 2008 à 10:40
Bonjour,

En effet ça fonctionne mais c'est pas propre, car tu donnes 2 conditions.

Dans la boucle de mon programme j'insère ma condition. Tant que pas cette condition, continuer!!!

en général si j'utilise if, j'utilise else quelquepart.

Enfin ca fonctionne ce qui est l'essentiel pour toi

A bientôt
0
bowbz Messages postés 8 Date d'inscription jeudi 21 décembre 2000 Statut Membre Dernière intervention 2 octobre 2009
15 sept. 2008 à 10:45
ben il y en a une qui est toujours vraie :

while True:


et l'autre qui permet l'arrêt de la boucle. Dans ton code tu mets :

while item!="stop":


Mais je ne veux pas devoir écrire 'stop' pour arrêter la boucle. Ce que je veux c'est qu'elle s'arrête quand je tape enter sans rien entrer d'autre. L'exercice demandait ça.

a plouff
0
Utilisateur anonyme
15 sept. 2008 à 19:54
Très simple :

#!/usr/bin/env python
#_*_ coding:utf-8 _*_

liste=[]
item=0
while item!="":
    item=raw_input('Entrer votre valeur :')
    liste.append(item)
liste.remove("") # pour retirer le '' de la liste
print liste
0
Rejoignez-nous