Formation I.S.N.

Préfixe

Exercice : préfixe

Un mot A est un préfixe d'un mot B lorsque le mot A est le début du mot B.

Exemples :

  • Le mot vide est préfixe de tout mot.
  • Le mot 'cou' est préfixe de 'coucou'.
  • Le mot 'coucou' est préfixe de 'coucou'.
  • Le mot 'coucou' n'est pas préfixe de 'cou'.

Écrire une fonction python récursive :

Entrée deux mots (type str).
Sortie True si le premier est préfixe du second, False sinon.
  • un code

def est_prefixe(mo, mot) :
	if mo == '' : return True
	else :
		if mot == '' : return False
		return mo[0] == mot[0] and est_prefixe(mo[1:], mot[1:])
		

print( est_prefixe('', '') )
print( est_prefixe('', 'az') )
print( est_prefixe('az', '') )
print( est_prefixe('coucou', 'coucou') )
print( est_prefixe('coucou', 'coucoucou') )
print( est_prefixe('coucoucou', 'coucou') )

Complément Python

On peut répondre à la question du préfixe de la façon suivante (sans récursivité) :


def est_prefixe(mo, mot) :
	return mot[:len(mo)] == mo
		

print( est_prefixe('', '') )
print( est_prefixe('', 'az') )
print( est_prefixe('az', '') )
print( est_prefixe('coucou', 'coucou') )
print( est_prefixe('coucou', 'coucoucou') )
print( est_prefixe('coucoucou', 'coucou') )