Etre redirigé sur python !!

Résolu
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

  1. 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)
    1. Contributeur
      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 ;-)))
    2. Quand tu build/run et que ça ne marche pas, tu as des messages d'erreur. As-tu essayé de les comprendre ?
    1. 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 ..
    2. Contributeur
      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.
    3. ah OK merci cher ami .. j'ai pigé .. merci a vous deux .. ^^