Ensuite, je génère un alphabet avec ces attributs grâce à la fonction suivante :
def generateurAlphabet():
t="abcdefghijklmnopqrstuvwxyz"
alphabet = {}
found=False
for lettre in t:
for i in range(len(dir(print))):
for j in range(len(str(dir(print)[i]))):
if str(dir(print)[i])[j] == lettre:
alphabet[lettre]="str(dir(print)[{}])[{}]".format(i,j)
found=True
if found:
break
if found:break
found=False
return alphabet
Plus qu'à chiffrer du code grâce à cet alphabet, j'ai décidé de chiffrer le code suivant (on dit bien chiffrer et pas crypter ! https://chiffrer.info/ ):
def compteurDeMailsPrioritairesNormal(expediteurs, prioritaires):
compteur = 0
for expediteur in expediteurs:
if expediteur in prioritaires:
compteur += 1
return compteur
Afin d'utiliser un string en tant que code, nous pouvons utiliser exec et eval en python :
def compteurDeMailsPrioritairesAvecEval(expediteurs,prioritaires):
x="exec('def compteurDeMailsPrioritaires(expediteurs, prioritaires):\\n compteur = 0\\n for expediteur in expediteurs:\\n if expediteur in prioritaires:\\n compteur += 1\\n return compteur')"
exec(x)
return eval('compteurDeMailsPrioritaires(expediteurs,prioritaires)')
Hello @arueco !
avec beaucoup de retard, tu es déclaré grand gagnant de l'édition de septembre !
Peux tu m'envoyer un email à matthieu@coddity.com pour ton magnifique gain?
thx!
Movai Code #12 compteurDeMailsPrioritaires()
Introduction
Je déteste les personnes qui relisent mon code, j'ai donc décidé de l'obfusquer un peu...
Code final
Voici mon code final, passé dans python golfer : https://clemg.github.io/pythongolfer/
Etape intermédiaire
Si quelqu'un parvenait malencontreusement à lire le code final, sachez que je lui réserve encore des surprises !
Comment cela fonctionne
dir() est une méthode qui retourne la liste des attributs valides d'un objet passé en paramètre.
Ici, j'utilise dir() sur print et j'obtiens une liste comme celle ci :
Ensuite, je génère un alphabet avec ces attributs grâce à la fonction suivante :
Ainsi, j'obtiens l'alphabet suivant :
Plus qu'à chiffrer du code grâce à cet alphabet, j'ai décidé de chiffrer le code suivant (on dit bien chiffrer et pas crypter ! https://chiffrer.info/ ):
Afin d'utiliser un string en tant que code, nous pouvons utiliser exec et eval en python :
J'espère que ce Movai code vous a plu :)