Etre redirigé sur python !!

Résolu/Fermé
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 - Modifié par Leo Shady le 10/08/2011 à 18:50
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 août 2011 à 12:00
Bonjour,
Je suis un debutant en Python
Je suis entrain d'écrire un programme de triple mot de passe et je cherche une fonction ou un outil pour rediriger l'utilisateur à une ligne au dessus afin de ne pas reécrire tout le code

voici le code

# Triple Password Program 
x=raw_input(' hello buddy : Gimme your password\n') 
if x=='ilovedunia1' : 
   y=raw_input('Good Now gimme your second password\n') 
   if y=='ilovedunia2' : 
      z=raw_input('Thats right its time for the last one\n') 
      if z=='ilovedunia3' : 
        print 'you are allowed to access' 
      else : 
        print 'you missed the 3rd password .. you are not allowed to access .. Please try again\n' 
        z=raw_input('Gimme the 3rd password\n') 
        if z=='ilovedunia3' : 
            print 'you are allowed to access' 
        else : 
            print 'you missed the 3rd password .. you are not allowed to access\n' 
   else : 
     print 'you missed the 2nd password .. you are not allowed to access .. please try again\n' 
     y=raw_input('Gimme your 2nd password\n') 
     #c'est ici ou je veux inserer le code de rediriction vers la ligne 5 
else : 
   print 'you missed the 1st password .. you are not allowed to access'


Merci d'avance
Bien cordialement
Leo

2 réponses

Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
10 août 2011 à 19:35
0
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 15
11 août 2011 à 17:19
Salut .. mais je ne crois pas que tu m'a compris !! je veux une fonction de redirection et pas une definition d'une fonction .. merci dans tous les cas ..
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
11 août 2011 à 20:00
Je pense au contraire qu'il t'a très bien compris...
J'explique : tu mets ton code dans une fonction et au lieu de faire des redirections tu rappelles la fonction. C'est largement plus propre, plus efficace, et t'y gagneras en maintenabilité.
Néanmoins, si tu veux vraiment faire ça, il faut jouer avec les boucles et conditions.
0
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 15
12 août 2011 à 06:41
ah OK merci cher ami .. j'ai pigé .. merci a vous deux .. ^^
0
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 15
12 août 2011 à 19:59
Bonsoir,
Est ce que cela est bien sachant que quand je le cuild/run ca ne marche pas ..

# Triple Password Program
def pass3(z) :
   z=raw_input('Thats right its time for the last one\n')
   if z=='ilovedunia3' :
      print 'you are allowed to access'
   else :
      print 'you missed the 3rd password .. you are not allowed to access .. please try again\n'
      pass3(z)

def pass2(y,z) :
   y=raw_input('Good Now gimme your second password\n')
   if y=='ilovedunia2' :
      pass3(z)
   else :
       print 'you missed the 2nd password .. you are not allowed to access .. please try again\n'
       pass2(y,z)

def pass1(x,y,z) :
   x=raw_input(' hello buddy : Gimme your password\n')
   if x=='ilovedunia1' :
      pass2(y,z)
   else :
      print 'you missed the 1st password .. you are not allowed to access .. please try again\n'
      pass1(x,y,z)


pass1(x,y,z)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
13 août 2011 à 01:14
Je trouve ton programme super compliqué pour réaliser un "triple password".
Je verrais plutôt un truc du genre :
def main():
	mdp=['c1','c2','c3']
	
	for i in range(len(mdp)):
		while raw_input('password ?')!=mdp[i]
			print 'Le mot de passe %d est faux' %(i+1)
	print 'bienvenue'

Bien sur, à adapter à ton contexte ;-)))
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
13 août 2011 à 12:00
Quand tu build/run et que ça ne marche pas, tu as des messages d'erreur. As-tu essayé de les comprendre ?
0