Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from AlgoPy import *
- def chiffreSoundex(pC):
- """
- chiffreSoundex : fonction : int
- renvoie chiffre assigne a lettre pC
- parametres :
- pC : char : lettre dans le mot donne par l'utilisateur
- local :
- return :
- chiffre : int : chiffre assigne a lettre pC
- """
- if (pC == 'a') or (pC == 'e') or (pC == 'h') or (pC == 'i') or (pC == 'o') or (pC == 'u') or (pC == 'w') or (pC == 'y'):
- chiffre = 0
- elif (pC == 'b') or (pC == 'f') or (pC == 'p') or (pC == 'v'):
- chiffre = 1
- elif (pC == 'c') or (pC == 'g') or (pC == 'j') or (pC == 'k') or (pC == 'q') or (pC == 's') or (pC == 'x') or (pC == 'z'):
- chiffre = 2
- elif (pC == 'd') or (pC == 't'):
- chiffre = 3
- elif (pC == 'l'):
- chiffre = 4
- elif (pC == 'm') or (pC == 'n'):
- chiffre = 5
- else:
- chiffre = 6
- return chiffre
- def soundex(pMot):
- """
- soundex : fonction : chaine
- code soundex d'un mot
- parametres :
- pMot : chaine : le mot a coder
- local :
- i : entier : indice dans pMot de la lettre souhaitee
- lettre : char : lettre d'indice de pMot
- chiffre : char : chiffre associe a la lettre d'indice i
- prec : char : chiffre associe a la lettre precedente, '0' pour une voyelle
- return :
- code : chaine : le code soundex de pMot
- pre : le mot ne contient que des caracteres alphabetiques minuscules
- """
- code = ""
- i = 0
- while (code.size() < 4):
- if i< pMot.size():
- lettre = pMot[i]
- chiffre = chiffreSoundex(lettre)
- else:
- chiffre = 'o'
- if i == 0:
- code = code.add(lettre)
- elif (i < pMot.size()):
- if (chiffre != prec and chiffre != 0):
- code = code.add(str(chiffre))
- else:
- code = code.add(str(chiffre))
- prec = chiffre
- i = i+1
- return code
- def main():
- """
- """
- mot = input("Saisir un mot : ",str)
- sound = soundex(mot)
- print(sound)
- execute(main)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement