avkLab

Pluriels français

Jun 11th, 2022
1,096
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.21 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. #----------------------------------------------------------------------------
  4. # Created by  : Alain Van Kerckhoven
  5. # Created Date: 16 juin 2021
  6. # Licence     : GPL
  7. # Version     : 1.0
  8. # ---------------------------------------------------------------------------
  9. """
  10. Met un nom commun francophone au pluriel. Ne tient pas compte des ambiguïtés
  11. sémantiques (lieux et lieus) ni des noms composés, ni des entrées en majuscules.
  12. """
  13. # ---------------------------------------------------------------------------
  14.  
  15.  
  16. # Liste des principales exceptions
  17. except_ou = ["bijou", "caillou", "chou", "genou", "hibou", "joujou", "pou", "ripou"]
  18. except_eu = ["beu", "bisteu", "bleu", "émeu", "enfeu", "eu", "neuneu", "pneu", "rebeu"]
  19. except_al = ["acétal", "ammonal", "aval", "bal", "barbital", "cal", "captal", "carnaval", "cérémonial", "chacal", "chloral", "chrysocal", "copal", "dial", "dispersal", "éthanal", "festival", "foiral", "furfural", "futal", "gal", "galgal", "gardénal", "graal", "joual", "kraal", "kursaal", "matorral", "mescal", "mezcal", "méthanal", "minerval", "mistral", "nopal", "pal", "pascal (hectopascal", "kilopascal)", "penthotal", "phénobarbital", "pipéronal", "raval", "récital", "régal", "rétinal", "rital", "roberval", "roseval", "salicional", "sal", "sandal", "santal", "saroual", "sial", "sisal", "sonal", "tagal", "tefal", "tergal", "thiopental", "tical", "tincal", "véronal", "zicral"]
  20.  
  21. singulier = input("Mot au singulier : ")
  22.  
  23. if singulier[-2:]=="al":
  24.     if (singulier in except_al):
  25.         supprim = 0
  26.         ajout = "s"  
  27.     else:
  28.         supprim = -2
  29.         ajout = "aux"
  30.  
  31. elif singulier[-2:]=="eu":
  32.     if (singulier in except_eu):
  33.         supprim = 0
  34.         ajout = "s"  
  35.     else:
  36.         supprim = -2
  37.         ajout = "eux"
  38.  
  39. elif (singulier in except_ou):
  40.     supprim = -2
  41.     ajout = "oux"  
  42.  
  43. elif (singulier[-1]=="s") or (singulier[-1]=="x") or (singulier[-1]=="z"):
  44.     supprim = 0
  45.     ajout = ""
  46.  
  47. else:
  48.     supprim = 0
  49.     ajout = "s"
  50.  
  51. if(supprim==0): # car problème spécifique de syntaxe dans Python 3
  52.     pluriel = singulier + ajout
  53. else:
  54.     pluriel = singulier[0:supprim:1] + ajout
  55.  
  56. print (pluriel)
Advertisement
Add Comment
Please, Sign In to add comment