user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 19-09-2016 14:43:06

koorosh
Membre

[Python3] Exercice Debutant Mot de passe

Bonjour à tous !

Je me suis lancé dans python version3, et  pour m’entraîner,  j'ai imaginé  un exercice que  je devais deviner  un mot de passe par caractère  et non pas le chiffre entier !

sauf que  je bug et  j'ai toujours du mal à comprendre la boucle FOR ^^'  et c'est pour ca que je poste  dans cette section.

je sais que  je peux utiliser la boucle FOR en incrémentant chaque caractère si il est exact mais  je sais pas comment ordonné tout ca.

Voici mon bout de code:

print("###### Deviner MDP par Bruteforce ######")

import random
MDPcoffre=random.randint(9,9999)

i = MDPcoffre
print("Le coffre-fort a été vérroullé !")
print(" vous sondez le coffre .... ")
print("Vous avez pu savoir que le mot de passe était d'une longueur de",len(str(i)), "chiffres")


while 1:

    tentative=int(input("entrer un nombre en vous aidant de la longueur trouvé: "))
    J=list(str(tentative))
    L=list(str(i))

voila donc je tente tous les moyen mais du mal à construire mon idée .
Merci de votre aide,


"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.

Hors ligne

#2 19-09-2016 17:21:11

IceF0x
#! Gourou Linux

Re : [Python3] Exercice Debutant Mot de passe

En python 2 cela donnerais ceci:

#!/usr/bin/env python
# -*-coding:utf-8-*-

import random
MDPcoffre=random.randint(9,9999)

i = MDPcoffre

print i

print("Le coffre-fort a été vérroullé !")
print(" vous sondez le coffre .... ")
print("Vous avez pu savoir que le mot de passe était d'une longueur de",len(str(i)), "chiffres")

m = input("entrez le nombre max: ")

print m

r = 0

while (r < m):
    #print r
    if r == i:
        print(" you win the password is", i)
        quit()
    else:
        r = r+1

Inspire toi de ce code basique pour faire ton code en python3


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 19-09-2016 23:47:07

WarLocG
#! modo de compet

Re : [Python3] Exercice Debutant Mot de passe

pour le for tu peux faire

for foo in range(bar): # ou bar représente un nombre, par exemple len('hello'), la taille d'une chaine ou d'une liste
  # faire des trucs, j ai mis pass ici vu qu'il y a rien dedans. Ce for est complètement inutil aussi
  pass

Avant de poser vos questions, jeter un oeil ici
Mon CodeVault et Wiki : ici
Les messages privés envers le staff sont uniquement pour les cas d'urgence ou affaires privées (personnelles). Les demandes se feront exclusivement sur le forum. Merci de respecter cette clause sous peine de sanctions.

Hors ligne

#4 20-09-2016 11:36:36

koorosh
Membre

Re : [Python3] Exercice Debutant Mot de passe

#coyotus:

Je viens de traduire ton bout de code en python 3 et tout fonctionne et d'ailleurs  super ton idée  pour la variable  r=0 , c'était ca   qui me manquais smile)

[== python3==]
print("###### Deviner MDP par Bruteforce ######")

import random
MDPcoffre=random.randint(9,9999)

i = MDPcoffre

print("Le coffre-fort a été vérroullé !")
print(" vous sondez le coffre .... ")
print("Vous avez pu savoir que le mot de passe était d'une longueur de",len(str(i)), "chiffres")

tenta1 = int(input("Entrer votre chiffre: "))
print("vous êtes entrain de tenter la combinaison {0} .....".format(tenta1))

r = 0

while 1:
    if r < tenta1 and r == i :
        print("Vous avez trouvé le mot de passe: ", i)
        break
    else:
        print("Vous avez pas trouvé le mot de passe, lancement du bruteforce.....")
        r=r+1


#WarLocG:
voila le bout de code avec la boucle FOR

[== Python3 ==]
print("###### Deviner MDP par Bruteforce ######")

import random
MDPcoffre=random.randint(9,9999)

i = MDPcoffre

print("Le coffre-fort a été vérroullé !")
print(" vous sondez le coffre .... ")
print("Vous avez pu savoir que le mot de passe était d'une longueur de",len(str(i)), "chiffres")

tenta = int(input("Entrer votre chiffre: "))

for force in range(2):
    if tenta != MDPcoffre:
        print("Mauvais mot de passe /!\ , entrer un nouveaux MDP !!!")
        tenta = int(input("Entrer votre chiffre: "))
        continue

on peut l'améliorer mais finalement , while et for c'est quasi pareil sauf qu'on utilise la boucle for lorsqu’on connait le nombre d'itération  alors que while c'est autant d’itération que possible , c'est bien ca ?

Dernière modification par koorosh (20-09-2016 12:15:46)


"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.

Hors ligne

#5 20-09-2016 12:50:30

koorosh
Membre

Re : [Python3] Exercice Debutant Mot de passe

ah merci beaucoup pour ces conseils ! genial ton bout de code , j' y avais pensé avec "try:"  mais  j'ai voulus déjà  réussir  à faire avec FOR smile.
Merci à tous de votre partage et surtout de votre aide coyotus merci

MlleParker a écrit :

tenta = int(input("Entrer votre chiffre: "))

Dans cette ligne, si l'utilisateur entre 'abc' par exemple (une string en fait mais cela fonctionne avec un dict, une liste, un tupple ect), le programme crash avec une erreur de types.
Ce mini snippet (vive les pléonasmes \o/) illustre une façon parmi tant d'autres de vérifier les saisis utilisateurs.

Ah donc  si j'enlève le int,  le morceau de code si-dessous me sera plus utile ! c'est ben ca  que  tu essay de me dire ?

[== Indéfini ==]
J=list(str(tentative))
L=list(str(i))

Dernière modification par koorosh (20-09-2016 12:57:34)


"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.

Hors ligne

#6 20-09-2016 14:03:01

koorosh
Membre

Re : [Python3] Exercice Debutant Mot de passe

ah oui autant pour moi smile , trop python dans ma tête  ca part dans tous les sens ! une pause s'impose tongue
Merci parker pour tes lumières !!!!!


"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.

Hors ligne

#7 23-09-2016 18:26:18

koorosh
Membre

Re : [Python3] Exercice Debutant Mot de passe

je rajoute ce site qui est  un site de challenge en programmation spécialisé en python :    https://callicode.fr/pydefis/


"Les paroles peuvent être plus tranchantes qu'un sabre affûté" écrit par Omar Khayam poète perse.

Hors ligne

#8 23-09-2016 21:03:15

penthium2
Modérateur

Re : [Python3] Exercice Debutant Mot de passe

koorosh a écrit :

je rajoute ce site qui est  un site de challenge en programmation spécialisé en python :    https://callicode.fr/pydefis/

mais balance ce lien dans un nouveaux post ! plus facile a suivre et plus fun je pense big_smile  Cthulhu


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

Pied de page des forums