Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cryptage (probleme)

Sujet résolu
    4 juillet 2013 à 14:43:20

    Bonjour a tout les Zero je suis debutant en python je suis le tutoriel sur le python tout en realisantun projet de cree un programme qui crypte les message :D voila mon code 
    import os #pour faire pause
    
    
    chaine = input("Saississez votre message : ")
    a = 1
    b = 2
    c = 3
    d = 4
    e = 5
    f = 6
    g = 7
    h = 8
    i = 9
    j = 10
    k = 11
    l = 12
    m = 13
    n = 14
    o = 15
    p = 16
    q = 17
    r = 18
    s = 19
    t = 20
    u = 21
    v = 22
    w = 23
    x = 24
    y = 25
    z = 26
    zz = 100
    
    
    
    for lettre in chaine:
        if lettre in "Aa": # lettre est a
            print(a)
    	
    for lettre in chaine:
    	if lettre in "Bb":
    		print(b)
    
    for lettre in chaine:
    	if lettre in "Cc":
    		print(c)
    		
    for lettre in chaine:
    	if lettre in "Dd":
    		print(d)
    		
    for lettre in chaine:
    	if lettre in "Ee":
    		print(e)
    		
    for lettre in chaine:
    	if lettre in "Ff":
    		print(f)
    
    for lettre in chaine:
    	if lettre in "Gg":
    		print(g)
    
    for lettre in chaine:
    	if lettre in "Hh":
    		print(h)
    
    for lettre in chaine:
    	if lettre in "Ii":
    		print(i)
    
    for lettre in chaine:
    	if lettre in "Jj":
    		print(j)
    
    for lettre in chaine:
    	if lettre in "Kk":
    		print(k)
    
    for lettre in chaine:
    	if lettre in "Ll":
    		print(l)
    
    for lettre in chaine:
    	if lettre in "Mm":
    		print(m)
    
    for lettre in chaine:
    	if lettre in "Oo":
    		print(o)
    
    for lettre in chaine:
    	if lettre in "Pp":
    		print(p)
    
    for lettre in chaine:
    	if lettre in "Qq":
    		print(q)
    
    for lettre in chaine:
    	if lettre in "Rr":
    		print(r)
    
    for lettre in chaine:
    	if lettre in "Ss":
    		print(s)
    
    for lettre in chaine:
    	if lettre in "Tt":
    		print(t)
    
    for lettre in chaine:
    	if lettre in "Uu":
    		print(u)
    
    for lettre in chaine:
    	if lettre in "Vv":
    		print(v)
    
    for lettre in chaine:
    	if lettre in "Ww":
    		print(w)
    
    for lettre in chaine:
    	if lettre in "Xx":
    		print(x)
    
    for lettre in chaine:
    	if lettre in "Yy":
    		print(y)
    
    for lettre in chaine:
    	if lettre in "Zz":
    		print(z)	
    
    for lettre in chaine:
    	if lettre in "espace":
    		print(zz)
    		
    	else :
    		print("*")
    		
    		 		
    	
    
    os.system("pause") # pour faire pause

    Voila le probleme au debut (y marche) je voulait mettre juste en dessous de If lettre in "Aa" mettre elif mais sa me metait une ERREUR voila le code marche mais pas assez simple pour le décrypter ;)

    Merci de votre avis et si vous m'aider :)

    Ps : DSL s'il y a des fautes :)

    -
    Edité par Alban Favier 4 juillet 2013 à 14:44:06

    • Partager sur Facebook
    • Partager sur Twitter
      4 juillet 2013 à 15:24:13

      J'ai essayé avec un elif et ça a marché. Voici ma syntaxe :

      for lettre in chaine:
          if lettre in "Aa":
              print(a)
          elif lettre in "Bb":
              print(b)
          elif lettre in "Cc":
              print(c)
          #[...]
      Par contre j'avoue ne pas avoir compris l'utilité du "zz" qui rajoute des 100 un peu partout. Si tu pouvais m'éclairer ;)
      • Partager sur Facebook
      • Partager sur Twitter
        4 juillet 2013 à 19:18:21

        Hello, en utilisant un dictionnaire c'est plus court:

        dico={'a':'6', 'b':'2', 'c': '3', 'd':'9', 'e':'4', 'f':'10',
              'g':'7', 'h':'8', 'i':'*', 'j':'-', 'k':'+', 'l':'§', 'm':'µ',
              'n':'%', 'o':'£', 'p':'$', 'q':'!', 'r':'ù', 's':'~', 't':'#',
              'u':'^', 'v':'¨', 'w':'?', 'x':'<', 'y':'>', 'z':'@', ' ': ' '}
        
        def cryptage(mot):
            
            mot_crypte=''
            for lettre in mot:
                mot_crypte+=dico[lettre]
            return(mot_crypte)
        
        chaine=''
        
        while chaine!='Ciao':
            chaine=input('Entrez votre message: ')
            resultat=cryptage(chaine)
            print(resultat)
        



        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          4 juillet 2013 à 20:26:16

          Voilà une solution avec les dictionnaires

          from string import ascii_lowercase as alphabet
          
          dict_alpha = {letter:str(n+1) for n, letter in enumerate(alphabet)} # Voir la documentation pour comprendre
          dict_alpha[' '] = '100'
          
          chaine = ' '
          while chaine.isalpha() or chaine.isspace(): # Tant que chaine est composé que de lettres ou d'un espace
              chaine = input("Saisissez votre message :").lower() # On récupère la chaine et on met tout en minuscule
              print(''.join([dict_alpha[i] for i in chaine])) # On récupère la définition de chaque lettre du dictionnaire
          
          

          Résultats

          fred1599@fred1599-Aspire-5741G:~/Desktop$ python3 crypt.py
          Saisissez votre message :  # espace
          100
          Saisissez votre message :Bonjour
          2151410152118
          Saisissez votre message :Coucou
          3152131521
          Saisissez votre message :coucou # pas de différences entre majuscule et minuscule
          3152131521
          Saisissez votre message :test
          2051920
          Saisissez votre message : # rien
          
          

          Bonne continuation...


          • Partager sur Facebook
          • Partager sur Twitter
            4 juillet 2013 à 20:45:42

            Merci bien les gens ;) 

            vous m'avait bien aider :)

            je vais mettre sa en pratique :)
            • Partager sur Facebook
            • Partager sur Twitter

            Cryptage (probleme)

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown