Indice d'un caractère dans une chaine
Résolu
Taranis33
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Taranis33 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Taranis33 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Indice d'un caractère dans une chaine
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Indice téléphonique - Guide
- Chaine tnt gratuite sur mobile - Guide
2 réponses
Bonjour,
Petite question comme ça, c'est un exercice à faire ? Car sinon, tu as la méthode index() qui existe déjà ;-).
Exemple :
c.index('x') -> 2
Cela simplifiera ta fonction.
Pour améliorer ton programme, je te conseille de passer plutôt par des classes. Et utilise plutôt input_raw() que input().
Note : la prochaine fois, n'oublie pas d'utiliser la balise "code python" lorsque tu posteras ton code. Exemple :
<code python>ici tu mets ton code</code>
Petite question comme ça, c'est un exercice à faire ? Car sinon, tu as la méthode index() qui existe déjà ;-).
Exemple :
c.index('x') -> 2
Cela simplifiera ta fonction.
Pour améliorer ton programme, je te conseille de passer plutôt par des classes. Et utilise plutôt input_raw() que input().
Note : la prochaine fois, n'oublie pas d'utiliser la balise "code python" lorsque tu posteras ton code. Exemple :
<code python>ici tu mets ton code</code>
Oui, c'est raw_input().
Effectivement, raw_input() s'appelle input() en Python 3. J'imagine donc que tu utilises cette version ;-). Dans ce cas, ne tiens pas compte de cette remarque.
Pour les classes, si cela ne te dit rien, c'est que tu ne l'as pas encore vu en cours. Autant attendre, ça viendra. Néanmoins, si tu trépignes d'impatience : https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232721-apprehendez-les-classes
S'il s'agit d'un exercice, oublie index(), et oublie find() (à mon avis)...
Il faut tout refaire sans fonction, sinon il n'y a pas d'intérêt.
L'algorithme peut être le suivant :
Note : si tu connais la fonction enumerate(), tu peux l'utiliser à la place de range(len(...)) ça sera plus propre :-).
Cdlt,
Effectivement, raw_input() s'appelle input() en Python 3. J'imagine donc que tu utilises cette version ;-). Dans ce cas, ne tiens pas compte de cette remarque.
Pour les classes, si cela ne te dit rien, c'est que tu ne l'as pas encore vu en cours. Autant attendre, ça viendra. Néanmoins, si tu trépignes d'impatience : https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232721-apprehendez-les-classes
S'il s'agit d'un exercice, oublie index(), et oublie find() (à mon avis)...
Il faut tout refaire sans fonction, sinon il n'y a pas d'intérêt.
L'algorithme peut être le suivant :
def indice(lettre, chaine) : ind=... for i = range(len(chaine)): if chaine[...]==...: ind=... break return ... ch=input('...') ind=indice(...) print(...)
Note : si tu connais la fonction enumerate(), tu peux l'utiliser à la place de range(len(...)) ça sera plus propre :-).
Cdlt,
Oui en effet il s'agit d'un exercice. Donc le soucis c'est que je ne sais pas vraiment ce que j'ai le droit de mettre comme fonction dans mes programmes, et comme Python est nouveau pour moi je suis un peu perdu...
Passer par des classes, c'est à dire ?
Et quelle est la différence entre input_raw() et input() ? Et ce n'est pas input_raw() mais plutôt raw_input() ?
En tout cas quand j'essaye ces deux fonctions, le même message d'erreur apparaît dans la console Spyder : 'undefined name'.
Et la fonction index est très pratique, grâce à elle le programme marche ;)
Je vais y penser la prochaine fois.
Merci beaucoup pour l'aide !