Première NSI

Exercices sur la séquence " Chaîne de Caractères "



La pluspart des exercices sont proposés avec un d'essai (test cases).

Chaque test est identifié par la phrase "nomDeLaFonction : pass test" suivi du numéro du test.

A l'execution de votre programme chaque test doit être validé par True.

Exemple : somme : pass test1 --> True indique que le test n°1 est réussi.


Pour ces exercices, vous devez écrire des fonctions, vous faudra y inclure un DocString et si nécessaire des asserts.

Rappel: Exercices sur les bases de Python

✎ 01° Écrire une fonction somme qui renvoie la somme de trois valeurs passées en paramètres.


# Code à copier dans votre éditeur et à compléter
def somme():
    
# Jeu d'essai
print("Pass test1 --> ",somme(1,5,7)==13)
print("Pass test2 --> ",int(somme(1.2,-6,5)*10)==2)

✎ 02° Écrire une fonction mention qui à partir d’une note renvoie la mention correspondant (None,P,AB,B,TB)


# Code à copier dans votre éditeur et à compléter
def mention(note):
   
    
# Jeu d'essai
print("Pass test1 --> ",mention(8)==None)
print("Pass test2 --> ",mention(10)=="P")
print("Pass test3 --> ",mention(11)=="P")
print("Pass test4 --> ",mention(12)=="AB")
print("Pass test5 --> ",mention(13)=="AB")
print("Pass test6 --> ",mention(14)=="B")
print("Pass test7 --> ",mention(15)=="B")
print("Pass test8 --> ",mention(16)=="TB")
print("Pass test9 --> ",mention(18)=="TB")

✎ 03° Écrire une fonction fizzbuzz qui renvoie :

  • la chaîne "Fizz" si le nombre est un multiple de 3.
  • la chaîne "Buzz" si le nombre est un multiple de 5.
  • None sinon.


# Code à copier dans votre éditeur et à compléter
def fizzbuzz(n)
       
    
# Jeu d'essai
print("Pass test1 --> ",fizzbuzz(1)==None)
print("Pass test2 --> ",fizzbuzz(3)=="Fizz")
print("Pass test3 --> ",fizzbuzz(5)=="Buzz")
print("Pass test4 --> ",fizzbuzz(6)=="Fizz")
print("Pass test5 --> ",fizzbuzz(7)==None)
print("Pass test6 --> ",fizzbuzz(10)=="Buzz")

✎ 04° Écrire une fonction fizzbuzz100 utilisant la fonction fizzbuzz de l'exercice pécédent.
Cette fonction fizzbuzz100 énumère les nombres de 1 à 100 et affiche :
1:None,2:None,3:Fizz,4:None,5:Buzz,6:Fizz,7:None,... etc jusqu'à 100

Chaîne de Caractères

✎ 05° Ecrire une fonction double qui prend en argument un mot (type str) et renvoie le mot obtenu en doublant chaque lettre.

Par exemple double("bon") a pour valeur "bboonn"

✎ 06°

  1. Ecrire une fonction identique qui prend en argument un mot (type str) et renvoie True si le mot commence et se termine par la même lettre et False sinon.
  2. Ecrire une fonction double_identique qui prend en argument deux mots (type str) et renvoie True si les deux mots commencent par la même lettre et se terminent par la même lettre et False sinon.

✎ 07°

  1. Ecrire une fonction occurence qui prend en paramètre une chaine de caractères mot et un caractère c et qui renvoie True si c apparaît dans mot, et False sinon.
      Par exemple: occurence("a", "cheval") renvoie True et occurence("a", "école") renvoie False
  2. Modifier la fonction occurence qui au lieu de renvoyer True , envoie la première position du caractère c dans la chaîne mot et si le caractère n’est pas présent la fonction renvoie -1.
      Par exemple: occurence("a", "cheval") renvoie 4 et occurence("a", "école") renvoie -1

✎ 08° Écrire une fonction reverso qui renvoie le mot donné en paramètre à l'envers.


# Code à copier dans votre éditeur et à compléter
def reverso
        
    
# Jeu d'essai
print("Pass test1 --> ",reverso("")=="")
print("Pass test2 --> ",reverso("a")=="a")
print("Pass test3 --> ",reverso("bonjour")=="ruojnob")
print("Pass test4 --> ",reverso("aa")=="aa")
print("Pass test5 --> ",reverso("laval")=="laval")

✎ 09° Écrire une fonction palindrome utilisant la fonction reverso et qui renvoie True si le mot passé en paramètre est un palindrome.


# Code à copier dans votre éditeur et à compléter
def palindrome

    
# Jeu d'essai
print("Pass test1 --> ",palindrome("")==False)
print("Pass test2 --> ",palindrome("a")==True)
print("Pass test3 --> ",palindrome("bonjour")==False)
print("Pass test4 --> ",palindrome("aa")==True)
print("Pass test5 --> ",palindrome("laval")==True)

Activité publiée le 18 09 2020
Auteur : Andjekel