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 :

Erreur Python : list index out of range


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Erreur Python : list index out of range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    print("Binvenue dans le club, Merci de bien compléter vos coordonnés !")
    fr=open("Leclub.txt","a")
    a=input("Entré votre prénom et nom? : ")
    b=input("Entrer votre adresse ? : ")
    c=input("Entrer votre code postal ? : ")
    d=input("Entrer votre numéro de gsm ? : ")
    fi=fr.write(a+"   ")
    fo=fr.write(b+"   ")
    fp=fr.write(c+"   ")
    fs=fr.write(d+'\n')
    fr.close()
    ofi=open("Leclub.txt","r")
    t1=['F','G','H','I','J','K','L','M']
    t2=['A','B','C','D','E','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
    while 1:
        ligne1=ofi.readlines()
        if ligne1[0]==t1:
            print("le nom commence par (f,g,h,i,j,k,l,m)")
            break
        if ligne1[0]==t2:
            print("le nom ne commence pas par (f,g,h,i,j,k,l,m)")
            break
    Je ne comprend pas mon erreur ! merci de m'aidé !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 291
    Points : 36 786
    Points
    36 786
    Par défaut
    Salut,
    Lorsque vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while 1:
        ligne1=ofi.readlines()
    Vous bouclez indéfiniment. Le premier ofi.readlines() retournera la liste des lignes du fichier, le deuxième [] et donnera l'erreur lorsqu'on accédera à ligne1[0].

    Utilisez plutôt la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    T1 =  'fghijklm'
    T2 = ...
    for line in ofi.readlines(): # on traite chaque ligne et on sort "à la fin".
        if line[0].lower() in T1:
            print ("le nom commence par %s" % line[0]
        elif line[0].lower() in T2:
            print ("le nom commence par %s" % line[0])
    Bon courage,
    - W

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Le pourquoi du t2 ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    print("Binvenue dans le club, Merci de bien compléter vos coordonnés !")
    fr = open("Leclub.txt", "a")
    a = input("Entré votre prénom et nom? : ")
    b = input("Entrer votre adresse ? : ")
    c = input("Entrer votre code postal ? : ")
    d = input("Entrer votre numéro de gsm ? : ")
    fr.write(a+" ")
    fr.write(b+" ")
    fr.write(c+" ")
    fr.write(d+'\n')
    fr.close()
    ofi = open("Leclub.txt", "r")
    t1 = 'fghijklm'
    for line in ofi.readlines():
        if line[0].lower() in t1:
            print("le nom commence par %s" % line[0].lower())
        else:
            print("le nom ne commence pas par (f,g,h,i,j,k,l,m)")
    ofi.close()
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    print("Binvenue dans le club, Merci de bien compléter vos coordonnés !")
    with open("Leclub.txt", "a") as fr:
        fr.write(input("Entré votre prénom et nom? : ") + ' ')
        fr.write(input("Entrer votre adresse ? : ") + ' ')
        fr.write(input("Entrer votre code postal ? : ") + ' ')
        fr.write(input("Entrer votre numéro de gsm ? : ") + '\n')
    t1 = 'fghijklm'
    with open("Leclub.txt", "r") as ofi:
        for line in ofi.readlines():
            if line[0].lower() in t1:
                print("le nom commence par %s" % line[0].lower())
            else:
                print("le nom ne commence pas par (f,g,h,i,j,k,l,m)")
    @+

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 720
    Points : 31 037
    Points
    31 037
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mmmppp Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t1=['F','G','H','I','J','K','L','M']
    if ligne1[0]==t1:
            print("le nom commence par (f,g,h,i,j,k,l,m)")
    Je ne comprend pas mon erreur ! merci de m'aidé !
    Bonsoir

    Est-ce que "commencer par" signifie "être égal à" ???

    Citation Envoyé par PauseKawa Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    t1 = 'fghijklm'
    if line[0].lower() in t1:
        print("le nom commence par %s" % line[0].lower())
    else:
        print("le nom ne commence pas par (f,g,h,i,j,k,l,m)")
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    t1 = 'fghijklm'
    print(
        "le nom %s par %s" % (
            "commence" if line[0].lower() in t1 else "ne commence pas",
            ",".join(t1),
        )
    )

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Oui Sve@r, mais je suis rester 'accessible' pour mmmppp .

Discussions similaires

  1. list index out of range
    Par jouclar dans le forum Général Python
    Réponses: 4
    Dernier message: 29/05/2010, 19h18
  2. list Index out of range
    Par viins dans le forum Général Python
    Réponses: 3
    Dernier message: 03/05/2010, 23h57
  3. Tache cron IndexError: list index out of range
    Par rene2200 dans le forum Général Python
    Réponses: 3
    Dernier message: 20/11/2009, 14h02
  4. un impossible "list index out of range" alors que si !
    Par guiguizekid dans le forum Général Python
    Réponses: 3
    Dernier message: 18/05/2008, 04h04
  5. list index out of range
    Par watcha2020 dans le forum Général Python
    Réponses: 2
    Dernier message: 29/06/2006, 09h59

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