Convertir mot en chiffre

Fermé
sapin42 Messages postés 4 Date d'inscription vendredi 26 décembre 2014 Statut Membre Dernière intervention 26 décembre 2014 - 26 déc. 2014 à 19:33
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 déc. 2014 à 22:01
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 ?

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 déc. 2014 à 19:48
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 vendredi 26 décembre 2014 Statut Membre Dernière intervention 26 décembre 2014
26 déc. 2014 à 20:10
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 déc. 2014 à 20:13
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