Convertir mot en chiffre

sapin42 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis entrain de travailler sur un code qui me permetterai de convertir un mot en chiffre par exemple :
" J'ai trois chatons"
donne "J'ai 3 chatons"
en utilisant raw_input() au départ.
Quelqu'un pourrait m'aider en sachant que je n'ai pas encore vu les arguments et les tableaux ?
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Il y a plusieurs étapes :

Il faut d'abord créer un tuple contenant les nombres en lettres jusque 16.
Ensuite, pareil pour les centaines, milliers.
Je te laisse réfléchir un peu pour la fonction en utilisant les tableaux. Vois un peu pour les exemples suivants :
seize
dix-sept
trois cent cinquante-deux
...

Ensuite, l'algorithme général est simple :
1/ Parser chacun des mots de la phrase
2/ Envoyer chaque mot dans la fonction créée. Si elle retourne non null, alors remplacer le mot par le nombre.
3/ Afficher la phrase
0
sapin42 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé j'ai pas précisé c'est pour des chiffres compris entre 1 et 10

Mais en gros comment identifier dans une phrase les chiffres ecrit en lettre , est ce qu'il existe un isnumber comme un isalpha() ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ah, bah c'est encore plus simple :-).
Non, il n'y a rien qui existe nativement en Python.
Il te suffit de passer chacun des mots de la phrase dans ta fonction. Ta fonction cherche à convertir chacun des mots (en les comparant avec les éléments de la liste). Si elle y arrive, elle renvoie le chiffre. Sinon elle renvoie None.
Cdlt,
0
sapin42 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Dac . Mais comment je fais pour prendre chacun des mots en sachant que je ne l'ai connait pas. Car au début on note : chaine = raw_input()
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Comme je t'ai dit, il te faut parser la phrase...
Un indice : méthode split() ;-)
0
sapin42 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je te remercie :) . Mais je viens de trouver string.replace() !
0