Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Ce dépôt est archivé. Vous pouvez voir les fichiers et le cloner, mais vous ne pouvez pas pousser ni ouvrir de ticket/demande d'ajout.

4.py 1.1 KiB

il y a 5 ans
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. def clean_fragment(fragment):
  2. result = ""
  3. for c in fragment:
  4. if c.isalpha() or c in ["-", "'"]:
  5. result += c
  6. return result
  7. def split_words(text):
  8. fragments = split_fragments(text)
  9. res = list()
  10. for fragment in fragments:
  11. fragment = fragment.lower()
  12. fragment = clean_fragment(fragment)
  13. if fragment:
  14. res.append(fragment)
  15. return res
  16. def split_fragments(text):
  17. res = list()
  18. for fragment in text.split():
  19. if "’" in fragment:
  20. (before, after) = fragment.split("’")
  21. res.append(before)
  22. res.append(after)
  23. else:
  24. res.append(fragment)
  25. return res
  26. def get_frequencies(words):
  27. res = dict()
  28. for word in words:
  29. if word in res:
  30. res[word] += 1
  31. else:
  32. res[word] = 1
  33. return res
  34. def get_scores(frequencies):
  35. res = list()
  36. for word, count in frequencies.items():
  37. res.append((count, word))
  38. res.sort(reverse=True)
  39. return res
  40. frequencies = {"pomme": 1, "poire": 2, "banane": 3}
  41. top_words = get_scores(frequencies)
  42. print(top_words)