1ère NSI - Notions de base - Chaînes de caractères - Exercices

Exercice 1 - Nombre de caractères 825

Validé !

Écrire une fonction compter(lettre, chaine) qui retourne le nombre de fois où lettre (qui est une chaîne de longueur 1) apparaît dans chaine.

>>> compter("a", "salut") 1

L’utilisation de .count() est bien entendu interdite.

Exercice 2 - Indice d'un caractère 725

Validé !

Écrire une fonction chercher(lettre, chaine) qui retourne l’indice de la première occurrence de lettre dans chaine. Si lettre n'est pas dans chaine, la fonction doit retourner -1.

>>> chercher("n", "bonjour") 2 >>> chercher("x", "toto") -1

L’utilisation de .find() est bien entendu interdite.

Exercice 3 - Début 417

Validé !

Écrire une fonction commencePar(debut, chaine) qui retourne True si chaine commence par debut, et False sinon.

>>> commencePar("bo", "bonjour") True >>> commencePar("na", "banane") False

Exercice 4 - Fin ! 314

Validé !

Écrire une fonction finitPar(fin, chaine) qui retourne True si chaine se termine par fin , et False sinon.

>>> finitPar("ur", "bonjour") True >>> finitPar("na", "banane") False

Exercice 5 - Remplacement local 121

Validé !

Écrire une fonction remplacer(indice, lettre, chaine) qui retourne chaine modifiée en remplaçant la lettre d'indice indice par lettre. Si l'indice dépasse la longueur de la chaîne, la fonction retourne chaine non modifiée.

>>> remplacer(1, "a", "toto") 'tato' >>> remplacer(7, "e", "tata") 'tata'

On pourra parcourir la chaine par indice, avec for i in range(len(chaine)).

def remplacer(indice, lettre, chaine): chaineRetour = "" # à compléter return chaineRetour

Exercice 6 - Disparitions 145

Validé !

Écrire une fonction masquer(caracteres, chaine) qui retourne chaine modifiée en remplaçant chaque caractère de caracteres par *.

>>> masquer("ai, "Salutations") 'S*lut*t*ons' >>> masquer("srt", "Stratosphérique") 'S**a*o*phé*ique'

Exercice 7 - Échange de caractères 55

Validé !

Écrire une fonction echanger(lettre1, lettre2, chaine) qui retourne chaine modifiée, dans laquelle toutes les lettres lettre1 et lettre2 ont été échangées.

>>> echanger("o", "j", "bonjour") 'bjnojur'

Exercice 8 - Dissimulation d'email 70

Validé !

Écrire une fonction dissimulerEmail(email) qui fonctionne de la manière suivante :

>>> dissimulerEmail("toto@tata.com") 'toto at tata dot com' >>> dissimulerEmail("jean.dupont07@rouge.fr") 'jean.dupont07 at rouge dot fr'

Exercice 9 - Vérification d'email 51

Validé !

Écrire une fonction verifierEmail(email) qui retourne True si email est correct. On dira qu'un email est correct lorsqu'il est de la forme identifiant@domaine.extension et :

  • identifiant contient uniquement (mais pas obligatoirement) des lettres, des chiffres, des points et le caractère souligné _
  • identifiant ne contient pas deux points successifs, et ne termine pas par un point
  • domaine ne contient que des lettres et des chiffres
  • extension contient entre 2 et 4 lettres