Bonjour, je fais des challenges sur le net, et là je suis au niveau 11
de http://www.try2hack.nl/
je me suis pour la peine mis au python (avec le bouquin téléchargeable
ici : http://www.cifen.ulg.ac.be/inforef/swi/python.htm ) langage qui me
faisait de l'oeil depuis un certain temps, ça m'a permis d'aller lui
dire bonjour à ce joli petit langage, enfin bref.
Donc le niveau 11 ici :
http://www.try2hack.nl/levels/level11-vmituh.php
Il faut multiplier les valeurs des caractères aux positions données de
la chaîne générée aléatoirement et renvoyer la réponse en moins de 5
secondes.
J'ai réussi à récupérer la page, faire les calculs nécessaires, mais
lors de l'envoi, je crois que je fait une erreur car rien de nouveau ne
s'affiche.
Est-ce que je me trompe dans le POST ?
merci
voici mon code, désolé si ce n'est pas très propre, mais c'est mon
premier en python, je débute comme déjà dit plus haut.
Code :
# je recupere la chaine
debut = re.search('string:<br>', page).end()
fin = re.search('<hr><br><br>', page).start()
contenu = page[debut:fin]
#print contenu
resultat = 1
i = 0
#je fais la multiplication ASCII le +1 est pour la position, car dans
l'énoncé on commence à 1 et non 0
while i < len(ch):
resultat *= ord(contenu[int(ch[i])+1])
i += 1
print resultat
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et
ceux.
# exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai
respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres.
Comment le fait on en python je n'ai pas trouvé ma réponse.
#j'utilise urlencode avec un dictionnaire
formulaire = urllib.urlencode({"answer":resultat})
#et j'envoie ma réponse et je lis le retour, seulement ça affiche comme
si j'avais fait une erreur, ou que j'ai mal envoyé... je ne sais pas.
Si les indices commencent à 1 il faut faire ch[i]-1 et non ch[i]+1
Mais que je suis un boulet boulay boulez, mais que je suis un boulet boulay boulez...
bien évidment !
Merci de m'avoir ouvert les yeux.
Finalement ce n'était pas mon code pour le POST qui ne fonctionnait pas, mais boulayhattitude.
dante
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute
d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction
pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et
ceux.
# exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai
respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres.
Comment le fait on en python je n'ai pas trouvé ma réponse.
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.
Tu a bien sûr recherché "string formatting" sur python.org ?
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
dante wrote:
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute
d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction
pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0
et ceux.
# exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai
respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres.
Comment le fait on en python je n'ai pas trouvé ma réponse.
Tu a bien sûr recherché "string formatting" sur python.org ?
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.
Tu a bien sûr recherché "string formatting" sur python.org ?
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
dante
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute
d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction
pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0
et ceux.
# exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai
respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres.
Comment le fait on en python je n'ai pas trouvé ma réponse.
Bonjour, mon problème étant réglé, je veux néanmoins savoir (faute d'avoir trouvé dans la doc pour l'instant) s'il y avait une fonction pour résoudre le problème suivant :
#il y a un problème quand le 5 chiffre en partant de la fin est un 0 et ceux. # exemple si j'ai 04000 ou 00400 ou 00040 ou 00004 j'aurai respectivement 4000, 400, 40, 4 J'aimerai avoir toujours 5 chiffres. Comment le fait on en python je n'ai pas trouvé ma réponse.