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 :

Petit programme qui trouve un caractère.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 64
    Par défaut Petit programme qui trouve un caractère.
    Bonjour

    Je dois faire un petit programme qui cherche un caractère donné dans une chaine de caractères.

    Donc une fonction qui attend 2 arguments..

    Donc une fonction "trouve" ==> def trouve()

    et quand je fais print trouve("Juliette & Roméo", "&")

    il doit m'indiquer 9.. POur dire que le "&" se trouve en 9ème position...

    Je peux seulement utiliser les IF et FOR.. pas de boucle While..

    Merci beaucoup

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Il suffit d'itérer ta chaine de caractère dans une boucle for. La fonction enumerate peut être utile dans ton cas car une retourne la position du caractère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    # -*- coding: utf-8 -*-
    def trouve(chaine, caract):
        for i, c in enumerate(chaine):
            if c == caract:
                return i
     
    print trouve("Juliette & Roméo", "&")
    Une méthode est déjà implémentée dans python:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # -*- coding: utf-8 -*-
    print "Juliette & Roméo".find("&")
    Si tu utilises python 3 pense à rajouter des parenthèse aux print

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 64
    Par défaut
    Merci

    Le .find j'y avais pensé mais le prof ne veut pas qu'on utilise enumerate et .find

    Donc...

    Voilà comment moi j'ai fait avec une boucle.. Mais je peux plus utiliser le while..

    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
     
     
    # -*- coding: cp1252 -*-
     
    def trouve(chaine, caract):
     
        cpt=0
     
        while cpt < len(chaine):
            if chaine[cpt]==caract:
                return cpt
            cpt+=1
        return "Le caractère recherché n'est pas dans la phrase !" #ce qu'il indique lorsque le caract recherché n'est pas présent
     
    print trouve("Juliette & Roméo", "&")

  4. #4
    Membre Expert 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
    Par défaut
    Bonjour,

    Citation Envoyé par tonykart13 Voir le message
    Le .find j'y avais pensé mais le prof ne veut pas qu'on utilise enumerate et .find

    Donc...

    Voilà comment moi j'ai fait avec une boucle.. Mais je peux plus utiliser le while..
    Drôlement limitatif ton prof.

    Et avec cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> def trouve(chaine, caract):
    ...     start, end=chaine.split(caract)
    ...     return len(start)
    ... 
    >>> print trouve("Juliette & Roméo", "&")
    9
    >>>
    @+

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 64
    Par défaut
    Merci encore une fois...

    Mais je peux seulement utiliser un FOR ou IF pas des fonctions que Python propose...

    C'Est sa le problème...

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Je pense que ton prof veut un truck dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    # -*- coding: utf-8 -*-
     
    def trouve(chaine, caract):
        for i in range(len(chaine)):
            if chaine[i] == caract:
                return i
     
        return "Le caractère recherché n'est pas dans la phrase !"
     
    print trouve("Juliette & Roméo", "&")

Discussions similaires

  1. [Turbo Pascal] Ecrire un programme qui lit une chaîne de caractères
    Par agan2012 dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 22/02/2009, 20h46
  2. Comment changer le petit image qui se trouve dans la barre d'adresse.
    Par P_mission dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/07/2008, 16h19
  3. Réponses: 8
    Dernier message: 04/03/2008, 23h30
  4. Petits programmes qui m'ennuie au démarrage
    Par Ganak dans le forum Windows XP
    Réponses: 1
    Dernier message: 05/02/2007, 19h36
  5. Petit programme qui pompe 50% de CPU
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2007, 11h03

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