In [1]:
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
 
In [2]:
trouve_indice("abcdefgh", 'e')
Out[2]:
4
In [3]:
trouve_indice("abcdefgh", 'z')
Out[3]:
-1
In [4]:
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
In [5]:
minusculise("CoUcou")
Out[5]:
'coucou'
In [10]:
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
    
 
In [11]:
javanais('Abraracourcix','av')
Out[11]:
'avabravaravacavourcavix'
In [12]:
javanais('Abraracourcix','oz')
Out[12]:
'ozabrozarozacozourcozix'
In [13]:
javanais('pythonique','ail')
Out[13]:
'pailythailonailiqailue'
In [14]:
javanais('Ab','av')
Out[14]:
'avab'
In [ ]: