La fonction string.maketrans()
Par syeric, dimanche 26 août 2007 à 22:45 :: Python :: #23 :: rss
Salut !
Je voulais vous présenter une fonction plutôt sympa de string dans python.
Mise en situation : Je vous donne la phrase suivante :
egek guv wpg fgoq fg uvtkpi.ocmgvtcpu() swk guv wpg hqpevkqp rnwvqv uaorc
Puis je vous dit que pour la comprendre, il faut remplacer toutes les lettres par celle qui se situe deux rangs plus hauts, par exemple remplacer c par a, d par b... Il y a deux méthodes pour le faire. La bonne, qui consiste à faire un programme, et la mauvaise, qui consiste à le faire à la main.
Heureusement, python va nous sortir de cette situation !
Voyez plutôt :
#!/usr/bin/python #-*- coding:utf-8 -*- import string #la fameuse phrase c="egek guv wpg fgoq fg uvtkpi.ocmgvtcpu() swk guv wpg hqpevkqp rnwvqv uaorc" #on défini un premier élément, qui sont les lettres de l'alphabet décalées de +2 rangs first='cdefghijklmnopqrstuvwxyzab' #on défini le second, plus facile second='abcdefghijklmnopqrstuvwxyz' #On crée une table qui va servir à la traduction avec string.maketrans() table=string.maketrans(first, second) #On traduit avec translate(table) result=c.translate(table) #on affiche le résultat print result
A son exécution, vous aurez comme résultat :
Ceci est une demo de string.maketrans() qui est une fonction plutot sympa
Bon, cet exemple est nul, mais cette fonction prend tout son sens lorsque l'on travaille avec des éléments chiffrés que l'on veut traduire en mots, ou autre. Seule obligation, avoir le même nombre de caractères de part et d'autre de la table de traduction.
A+
Sylvain
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire