IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème boucle while + boucle simple


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut Problème boucle while + boucle simple
    Bonjour,
    Je ne suis pas sur de poster ca exactement ou bon endroit. Désolé c'est la première fois que je cherche de l'aide en programmation...

    Donc voilà mon petit programme :
    #-- coding=utf-8 --
    import csv

    #Partie I demande de la ville
    listeville=csv.reader(open("results_imc.csv","rb"),delimiter=";")


    print "Quelle est votre ville cible parmis les 50 plus grandes villes mondiales?"
    ville=raw_input()
    ville=ville.upper()
    print ville

    n=1
    while (n==1):
    -------for row in listeville:
    ------------if (row[0]==ville):
    -----------------print "La ville fait bien partit des 50 plus grandes villes mondiales."
    -----------------n=0
    -------if(n==1):
    ------------print "La ville ne fait pas partit des 50 plus grandes villes mondiales ou n'existe pas."
    ------------ville=raw_input()
    ------------ville=ville.upper()
    ------------print ville

    j'ai un gros problème avec mon while ou ma boucle for je n'arrive pas à déterminer.
    En gros :
    - le programme marche très bien si directement l'utilisateur marque une grande vile faisait partit de la liste de mon document
    - le programme ne marche pas et créé une boucle infinit me disant que c'est pas bon même si on finit par rentrer une ville de juste.

    Quelqu'un pourrais jeter un coup d'oeil?
    Merci d'avance!!! =)

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Ton problème vient du fait que lors de la première boucle tu as épuisé la liste des rows, celle-ci n'est pas remise à zéro, tu pourras le voir en ajoutant un print juste après la boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        for row in listeville:
            print "row:", row
    Il te seras probablement plus aisé de créer d'abord une liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    listeville = csv.reader(open("villes.csv", "rb"), delimiter=";")
    villes = [row[0] for row in listeville]
    Ensuite tu peux simplifier ta boucle sans doubler le raw_input:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    print "Quelle est votre ville cible parmis les 50 plus grandes villes mondiales?"
    while 1:
        ville = raw_input()
        ville = ville.upper()
        if ville in villes:
            print "La ville fait bien partit des 50 plus grandes villes mondiales."
            break
     
        print "La ville n'existe pas ... entrez un autre nom de ville"
    Si tu postes du code ici, utilise les balises ad hoc, le # dans la barre d'outils d'édition.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut
    Merci à toi, tout est bon maintenant!!=)

    Bonne journée!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec ma boucle while
    Par gautgaut dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2013, 18h04
  2. [Problème]Arreter une boucle while
    Par JohnAnto dans le forum C++
    Réponses: 5
    Dernier message: 01/02/2013, 17h11
  3. Problème avec des boucles while/for imbriquées
    Par Nico820 dans le forum Général Python
    Réponses: 12
    Dernier message: 14/12/2012, 16h24
  4. problème command avec boucle while
    Par Makssime dans le forum Tkinter
    Réponses: 2
    Dernier message: 29/11/2010, 17h45
  5. Problème creation procedure & boucle while
    Par totor_22 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 01/12/2009, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo