Differance_dictionnaire_AM~20171217-151049.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #importez module
  4. import random
  5. #déclarez une liste
  6. diff_words = []
  7. #déclarez un nouveau dictionnaire
  8. aleatoire = {}
  9. #Créez un dictionnaire
  10. permutations = {
  11. 'ff' : 'ph' ,
  12. 'qu' : 'kh' ,
  13. 'ss' : 'ç' ,
  14. 'ch' : 'sh' ,
  15. 'il' : 'yl' ,
  16. 'ain' : 'un' ,
  17. 'ai' : 'ê' ,
  18. 'li' : 'ly' ,
  19. }
  20. #Ouvrir un texte comme matériau brut
  21. with open("diff.txt", "r", encoding="ISO-8859-1") as source:
  22. # lire chaque ligne
  23. for line in source:
  24. # séparer la ligne en liste de mots
  25. words = line.split(" ")
  26. # pour chaque mot de la liste de mots
  27. for word in words:
  28. # pour chaque élément dans le dictionnaire
  29. for key, value in permutations.items():
  30. # vérifier si les clefs du dictionnaire "permutations" figurent dans les mots de la liste
  31. if key in word:
  32. # rajouter les clefs et les valeurs dans le dictionnaire "aleatoire"
  33. aleatoire[key] = value
  34. # si il y a des changements il y a donc un dictionnaire
  35. if aleatoire:
  36. # transformer le dictionnaire "aleatoire" en liste pour pouvoir aller indexer
  37. liste = list(aleatoire.items())
  38. print(liste)
  39. # choisir aléatoirement une des permutations de la liste à appliquer au mot
  40. result = random.choice(liste)
  41. print("choix aleatoire" , result)
  42. # remplacer la clef par sa valeur dans le dictionnaire
  43. newword = word.replace(result[0], result[1])
  44. print("remplacement", newword)
  45. # rajoutez le mot à la liste nouvelle
  46. diff_words.append(newword)
  47. else:
  48. diff_words.append(word)
  49. aleatoire.clear()
  50. # écrire la nouvelle liste comme chaîne de caractères dans un fichier texte
  51. with open("diff_permute.txt", "w") as destination:
  52. destination.write(' '.join(diff_words))