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] Compter le nombre d'empans


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Exercice] Compter le nombre d'empans
    Bonsoir,

    Pourriez-vous m'aidez sur cet exercice ?

    On souhaite manipuler des tableaux qui ont les caractéristiques suivantes :

    toutes les valeurs du tableau sont des entiers positifs ou nuls,
    on ne trouve pas deux 0 qui se suivent.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [1,4,4,0,8,1,7,4,9,0,2,6,11]
    On appellera empan une suite de nombres compris entre deux 0. Dans l'exemple précédent il y a 3 empans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [1,4,4]
    [8,1,7,4,9]
    [2,6,11]
    Ecrire les fonctions qui permettent de :

    compter le nombre d'empans

    compteEmpans([1,4,4,0,8,1,7,4,9,0,2,6,11]) →→ 3

    J'ai essayé la fonction suivante mais cela ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    tableau = []
    def compteEmpans(tableau):
        compteur = 0
        n = 0
        for i in range(0, len(tableau)):
            if tableau[i] == n:
                compteur += 1
        return compteur
    Sachant qu'on a appris les boucles "while" "for" et "if"

    Cordialement.

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Salut,

    Ta fonction fonctionne presque, il ne manque pas grand chose, cf. ci-dessous...

    PS : L'instruction tableau = [] n'est pas nécessaire..

    Cela dit c'est le critère qui n'est pas clair :

    Citation Envoyé par ChimpChimp Voir le message
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [1,4,4,0,8,1,7,4,9,0,2,6,11]
    On appellera empan une suite de nombres compris entre deux 0. Dans l'exemple précédent il y a 3 empans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [1,4,4]
    [8,1,7,4,9]
    [2,6,11]
    Tu vois là, en toute rigueur (d’après le critère "compris entre deux 0") il n'y a qu'un empan et non 3, en effet la suite de nombre [8,1,7,4,9] est la seule qui se trouve entre deux 0.

    Et si il n'y a qu'un seul 0, on fait quoi ?

    Mais bon si on prend en compte ton exemple plutôt que le critère "compris entre deux 0" alors il suffit dans ton code de retourner compteur + 1 :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def compteEmpans(tableau):
        compteur = 0
        n = 0
        for i in range(0, len(tableau)):
            if tableau[i] == n:
                compteur += 1
        return compteur +1
     
     
    liste = [1, 4, 4, 0, 8, 1, 7, 4, 9, 0, 2, 6, 11]
    print(compteEmpans(liste))

    On peut simplifier un peu comme ça :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def compteEmpans(tableau):
        compteur = 0
        n = 0
        for elem in tableau:
            if elem == n:
                compteur += 1
        return compteur + 1

    Et à titre d'info on peut utiliser la fonction count :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def compteEmpans(tableau):
        return tableau.count(0) + 1

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/02/2016, 02h34
  2. Compter le nombre de page d'un report
    Par ToYonos dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/06/2003, 09h36
  3. compter le nombre de record
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 12/03/2003, 09h53
  4. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 20h25
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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