Differance_dictionnaire_17-12-17.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. 'f' : 'ph' ,
  12. 'qu' : 'kh' ,
  13. 'y' : 'i' ,
  14. 'ss' : 'ç' ,
  15. }
  16. #Ouvrir un texte comme matériau brut
  17. with open("diff.txt", "r", encoding="ISO-8859-1") as source:
  18. # lire chaque ligne
  19. for line in source:
  20. # séparer la ligne en liste de mots
  21. words = line.split(" ")
  22. # pour chaque mot de la liste de mots
  23. for word in words:
  24. print("word", word)
  25. # pour chaque élément dans le dictionnaire
  26. for key, value in permutations.items():
  27. print("key", key)
  28. # vérifier si les clefs du dictionnaire "permutations" figurent dans les mots de la liste
  29. if key in word:
  30. print("key in word", key)
  31. # rajouter les clefs et les valeurs dans le dictionnaire "aleatoire"
  32. aleatoire[key] = value
  33. # si il y a des changements il y a donc un dictionnaire
  34. if aleatoire:
  35. print("aleatoire dict", 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. print('\n')
  51. # écrire la nouvelle liste comme chaîne de caractères dans un fichier texte
  52. with open("diff_permute.txt", "w") as destination:
  53. destination.write(' '.join(diff_words))