CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

xiretsA && xilebO : Mission reverse #59

Closed lmoretba closed 2 years ago

lmoretba commented 3 years ago

On est en 2020 donc ce programme nécessite l'accès à l'internet libre pour renverser la chaîne.

Comme vous pouvez le constater, il n'est importé nulle part, mais ce programme python requiert la présence du paquetage requests

#!/usr/bin/python3
import sys

def cheap_reverse(string):
    p = {"et bien je leur réponds très simplement,":'r = ""\n',"y ait":'"Never gonna give you up"\n',"je lui dis merci, je chante la vie, je danse la vie...":"i = ","ou de":'"Never gonna let you down"\n',"le beau geste,":"    try:\n","situation.":'"Never gonna run around and desert you"\n',"de bonne":"gt = ","si je devais":'"Never gonna make you cry"\n',"mais demain qui sait ?":"    i","aujourd’hui":'"Never gonna say goodbye"\n',"Je ne suis qu’amour !":'dcm("0")\n',"je dirais":'"Never gonna tell a lie and hurt you"\n',"mauvaise":"dt = ","Moi,":"sg = ","pas":"52, 44, 32, 52, 49, 93]\n","avec vous,":"on = ","que c’est d’abord":"re = 32\n","je ne":"44, 32, 49, 49, 49, 44, 32, 51, 50, 44, 32, 49, 50, 49, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 51, 50, 44, 32, 49, 48, 56, 44, 32, 49, 48, 53, 44, 32, 49, 49, 56, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 54, 51, 44, 32, 52, 54, 44, 32, 51, 50, 44, 32, 55, 51, 44, 32, 51, 50, 44, 32, 49, 49, 48, 44, 32, 49, 48, 49, 44, 32, 49, 48, 49, 44, 32, 49, 48, 48, 44, 32, 51, 50, 44, 32, 49, 49, 54, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 49, 48, 53, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 49,","tendu la main,":'t = eval("".join([l(b) for b in na]))\n',"à entreprendre une construction mécanique":'[dcm("{}-{}-1".format(z, i))]\n',"je leur dis que c’est ce goût de l’amour":"while i < z:\n","savez,":"32, 52, 54, 44, 32, 51, 50, 44, 32, 56, 57, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 51, 50, 44, 32, 49, 48, 48, 44, 32, 49, 49, 49, 44, 32, 49, 49, 48, 44, 32, 51, 57, 44, 32, 49, 49, 54, 44, 32, 51, 50, 44, 32, 49, 48, 52, 44, 32, 57, 55, 44, 32, 49, 49, 56, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 57, 55, 44, 32, 57, 57, 44, 32, 57, 57, 44, 32, 49, 48, 49, 44, 32, 49, 49, 53, 44, 32, 49, 49, 53, 44, 32, 51, 50, 44, 32, 49, 49, 54, 44, 32, 49, 49, 49, 44, 32, 51, 50, 44, 32, 49, 49, 54, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 51,","qui m’ont":"na = [99, 104, 114]\n","Et finalement, quand beaucoup de gens aujourd’hui me disent :":"z = ","à un moment":"j = [114, 101, 113, 117, 101, 115, 116, 115]\n","Des gens":"l = eval(sc)\n","Alors ça n’est pas mon cas,":"    except:\n","j’ai pu : et je dis merci à la vie,":'        eval("".join(t(a) for a in st))()\n',"résumer ma vie":"ze = ","où j’étais seul chez moi.":"    u = [104, 116, 116, 112, 58, ","moi":"50, 44, 32, 49, 48, 53, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 44, 32, 49, 49, 48, 44, 32, 49, 48, 49, 44, 32, 49, 49, 54, 44, 32, 51, 50, 44, 32, 54, 51, 44, 32, 51, 50, 44, 32, 56, 51, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 49, 49, 53, 44, 32, 49, 48, 56, 44, 32, 49, 50, 49, 44, 32, 52, 52, 44, 32, 51, 50, 44, 32, 49, 49, 57, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 49, 48, 48,","Et c’est assez curieux":"47, 47, 97, 112, 105, 46, ","qu'il":"su = ","Peut-être simplement à me mettre au service de la communauté,":" = ","de se dire que les hasards,":"109, 97, 116, 104, 106, 115, ","les rencontres forgent une destinée...":"46, 111, 114, 103, 47, 118, 52, 47] # Raw sauce\n","Parce que quand on a le goût de la chose,":'    exec("".join([l(y) for y in (f + [re] + j)])) # Quick maths\n',"quand on a le goût de la chose bien faite,":"    st = [f[0]-4, j[2]+7, u[17]+59, f[3]+5]\n","ce goût donc qui m’a poussé aujourd’hui":"    r += string","à faire le don, le don de soi...":'dcm("{}+1".format(i))\n',"parfois on ne trouve pas l’interlocuteur en face":'        r = eval("".join([l(a) for a in [114, 101, 113, 117, 101, 115, 116, 115, 46, 103, 101, 116]]))("".join(t(a) for a in eval(t(117))), {"".join(l(b) for b in [101, 120, 112, 114]): e})\n',"des rencontres.":"sc = sg[21] + on[27] + dt[31]\n","où je ne pouvais pas,":"def dcm(e):\n","je dirais, le miroir qui vous aide à avancer.":'        return int(eval("".join([t(a) for a in [114, 46, 106, 115, 111, 110]]))())\n',"crois":"52, 44, 32, 49, 49, 48, 44, 32, 49, 48, 49, 44, 32, 49, 49, 54, 44, 32, 51, 50, 44, 32, 49, 49, 54, 44, 32, 49, 49, 49, 44, 32, 51, 50, 44, 32, 49, 49, 52, 44, 32, 49, 48, 49, 44, 32, 49, 49, 56, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 44, 32, 49, 49, 53, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 49, 50, 49, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 49, 49, 52, 44, 32, 51, 50, 44, 32, 49, 49, 53, 44, 32, 49, 49, 54, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 48, 44, 32, 49, 48, 51, 44, 32, 49, 49, 53, 44, 32, 52, 54, 44, 32, 51,","comme je disais là, puisque moi au contraire,":'        exec("".join(l(b) for b in eval("".join([t(a) for a in ww]))))\n',"Vous":"ww = [91, 49, 49, 50, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 52, 48, 44, 32, 51, 52, 44, 32, 56, 52, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 51, 50, 44, 32, 49, 50, 49, 44, 32, 49, 48, 49, 44, 32, 57, 55, 44, 32, 49, 49, 52, 44, 32, 51, 50, 44, 32, 49, 48, 53, 44, 32, 49, 49, 53, 44, 32, 51, 50, 44, 32, 53, 48, 44, 32, 52, 56, 44, 32, 53, 48, 44, 32, 52, 56, 44,","peut-être":"f = [105, 109, 112, 111, 114, 116]\n","« Mais comment fais-tu pour avoir cette humanité ? »,":'dcm(str(len(string)))\n'}
    q = [
        "Vous", "savez,", "moi", "je ne", "crois", "pas", "qu'il", "y ait", "de bonne", "ou de", "mauvaise", "situation.",
        "Moi,", "si je devais", "résumer ma vie", "aujourd’hui", "avec vous,", "je dirais", "que c’est d’abord",
        "des rencontres.", "Des gens", "qui m’ont", "tendu la main,", "peut-être", "à un moment", "où je ne pouvais pas,",
        "où j’étais seul chez moi.", "Et c’est assez curieux", "de se dire que les hasards,",
        "les rencontres forgent une destinée...", "Parce que quand on a le goût de la chose,",
        "quand on a le goût de la chose bien faite,", "le beau geste,", "parfois on ne trouve pas l’interlocuteur en face",
        "je dirais, le miroir qui vous aide à avancer.", "Alors ça n’est pas mon cas,",
        "comme je disais là, puisque moi au contraire,", "j’ai pu : et je dis merci à la vie,",
        "je lui dis merci, je chante la vie, je danse la vie...", "Je ne suis qu’amour !",
        "Et finalement, quand beaucoup de gens aujourd’hui me disent :", 
        "« Mais comment fais-tu pour avoir cette humanité ? »,", "et bien je leur réponds très simplement,",
        "je leur dis que c’est ce goût de l’amour", "ce goût donc qui m’a poussé aujourd’hui",
        "à entreprendre une construction mécanique", "mais demain qui sait ?",
        "Peut-être simplement à me mettre au service de la communauté,", "à faire le don, le don de soi..."
    ]
    exec("".join([p[g] for g in q]), locals())
    return locals()['r']

if __name__ == "__main__":
    if(len(sys.argv)> 1):
        print(cheap_reverse(sys.argv[1]))

Usage : python3 movaicode.py edociavom

Toutes suggestions permettant d'améliorer les performances ou la lisibilité du code sont les bienvenues.

louismarslen commented 3 years ago

Cher Lucas (ou Guillaume on ne sait plus), j'ai le plaisir et l'honneur de t'annoncer que tu n'as PAS gagné le concours MOVAI CODE. Ce qui fait de toi un EKSSELAN Codeur.

SPOILER : j'espère qu'on aura le plaisir de recevoir ta participation à l'episode 2 du MOVAI CODE (stay tuned).

Bravo toutefois pour ta belle contribution 😊

louismarslen commented 2 years ago

Je fais un peu de ménage dans les issues -> d'ailleurs go participer à l'édition 5