def trouve_indice(chaine, lettre):
"""
chaine -- chaîne de caractères
lettre -- caractère
renvoie l'indice de la première occurrence de lettre
dans chaine si lettre est présente dans chaine.
renvoie -1 si lettre n'est pas présente dans chaine.
>>> trouve_indice("abcdefgh", 'e')
4
>>> trouve_indice("abcdefgh", 'z')
-1
"""
for k in range(len(chaine)):
if chaine[k] == lettre:
return k
return -1
trouve_indice("abcdefgh", 'e')
trouve_indice("abcdefgh", 'z')
def minusculise(mot):
"""
mot -- chaîne de caractères
renvoie le même mot mais
dans lequel toute majuscule est devenue minuscule.
>>> minusculise("CoUcou")
'coucou'
"""
ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
alphabet = "abcdefghijklmnopqrstuvwxyz"
mot_minus = ''
for lettre in mot:
if lettre not in ALPHABET:
mot_minus = mot_minus + lettre
else:
k = trouve_indice(ALPHABET, lettre)
mot_minus = mot_minus + alphabet[k]
return mot_minus
minusculise("CoUcou")
def javanais(mot, syll) :
# on passe le mot en minuscules (ce n'est pas indispensable,
# c'est un choix fait ici pour ne pas avoir une majuscule
# dans le mot après transformation, comme par exemple Ab -> avAb)
motminus = minusculise(mot)
voyelles = 'aeiouy'
consonnes = 'bcdfghjklmnpqrstvwxz'
motjav = '' # contiendra la traduction javanaise.
## boucle pour ajouter syll derrière les groupes de consonnes
## sauf derrière la consonne éventuelle de fin de mot.
for j in range(len(motminus)-1) :
if (mot[j] in consonnes and motminus[j+1] not in consonnes) :
motjav += motminus[j]+syll
else :
motjav += motminus[j]
## On ajoute la dernière lettre du mot de départ au résultat.
motjav += motminus[-1]
## On ajoute syll au début du mot résultat
## si mot commençait par une voyelle.
if motminus[0] in voyelles :
motjav = syll+motjav
return motjav
javanais('Abraracourcix','av')
javanais('Abraracourcix','oz')
javanais('pythonique','ail')
javanais('Ab','av')