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 :

Exercice Python doublons


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Par défaut Exercice Python doublons
    Bonjour,

    Je m'entraîne sur le site France-IOI et je dois créer un programme en python qui doit supprimer les doublons d'une chaîne de caractère.
    Par exemple, on aurait :

    entrée :
    baaabbacddc
    sortie :
    b

    Etape par étape :

    baaabbacddc
    baaabbacc
    babbacc
    babba
    baa
    b

    J'ai fait un programme, mais j'obtiens l'erreur suivante :
    IndexError: list index out of range
    Je ne comprends pas pourquoi j'obtiens cette erreur, car mon programme ressemble très fortement à l'algorithme du tri à bulle et celui-ci fonctionne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    chaine = input()
    liste = list(chaine)
     
    supprDoublon = True
    while supprDoublon == True:
        supprDoublon = False
        for caractere in range(0, len(liste)-1):
            if liste[caractere] == liste[caractere+1]:
                del(liste[caractere])
                del(liste[caractere+1])
                supprDoublon = True
    for caractere in range(len(liste)-1):
       print(liste[caractere])
    Merci d'avance pour toute aide !

  2. #2
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Nooby300 Voir le message
    Etape par étape :

    baaabbacddc
    baaabbacc
    babbacc
    babba
    baa
    b

    J'ai fait un programme, mais j'obtiens l'erreur suivante :

    Je ne comprends pas pourquoi j'obtiens cette erreur, car mon programme ressemble très fortement à l'algorithme du tri à bulle et celui-ci fonctionne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    chaine = input()
    liste = list(chaine)
     
    supprDoublon = True
    while supprDoublon == True:
        supprDoublon = False
        for caractere in range(0, len(liste)-1):
            if liste[caractere] == liste[caractere+1]:
                del(liste[caractere])
                del(liste[caractere+1])
                supprDoublon = True
    for caractere in range(len(liste)-1):
       print(liste[caractere])
    Merci d'avance pour toute aide !
    Bonsoir,
    Le problème est qu'à chaque suppression la longueur de la chaîne diminue.
    Il est toujours vivement déconseillé de modifier une liste dont on boucle sur l'indexe.
    Il faut trouver un contournement!

    Clodion

    PS: attention aux noms des variables (avoir une variable "caractere" destinée à contenir des indices est perturbant)!

Discussions similaires

  1. aide exercice python
    Par brunette83 dans le forum Général Python
    Réponses: 10
    Dernier message: 21/11/2012, 08h36
  2. aide exercice python
    Par brunette83 dans le forum Général Python
    Réponses: 1
    Dernier message: 13/11/2012, 22h40
  3. problème exercice python
    Par moushti dans le forum Général Python
    Réponses: 2
    Dernier message: 09/02/2011, 03h52
  4. aide exercice python
    Par cedric190985 dans le forum Général Python
    Réponses: 2
    Dernier message: 24/03/2010, 12h57
  5. exercice python premiere annee
    Par agui26 dans le forum Général Python
    Réponses: 3
    Dernier message: 10/01/2010, 11h52

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