You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

45 lines
825 B

  1. import string
  2. import sys
  3. def enlever_les_espaces(msg):
  4. msg_compact = ""
  5. for lettre in msg:
  6. if lettre.isalpha():
  7. msg_compact += lettre
  8. return msg_compact
  9. def mettre_en_maj(msg):
  10. msg_maj = msg.upper()
  11. return msg_maj
  12. def chiffre(chaine, msg):
  13. mesg_chiffre = ""
  14. i = 0
  15. for lettre in msg:
  16. pas = ord(chaine[i % len(chaine)]) - 65
  17. mesg_chiffre += decale_lettre(pas, lettre)
  18. i += 1
  19. return mesg_chiffre
  20. def decale_lettre(pas, lettre):
  21. let = ((ord(lettre) - 65) + pas) % 26
  22. return chr(let + 65)
  23. def main():
  24. message_compact = enlever_les_espaces(sys.argv[2])
  25. message_maj = mettre_en_maj(message_compact)
  26. # argv1 contient une chaine
  27. message_chiffre = chiffre(sys.argv[1], message_maj)
  28. print(message_chiffre)
  29. main()