Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
1. Ecrire une fonction longueur_chaine(ch)qui recoit en argument une chaine de
caractères ch, et qui retourne sa taille.
?
1def longueur_chaine(ch):
2 taille = 0
3 for c in ch: # pour chaque c de ch
4 taille += 1
5 return taille
2. Ecrire un programme qui permet de :
o Saisir au clavier une chaine de caractères
o Afficher la taille de cette chaine de caractères de deux facons : avec la
fonction longueur_chaine(ch) et avec la fonction prédéfinie len()
o ?
1
def pr_occurence(ch, e):
2 occ = -1
3 i = 0
4 for c in ch:# pour chaque c de ch
5 if c == e:
6 return i
7 i += 1
8 return occ
3. Ecrire un programme qui permet de saisir une chaine de caractères et un caractère,
puis de tester les fonctions définies dans les questions 1 et 2
?
1def saisir_liste_chaine(n):
2 L = [""]*n
3 for i in range(n):
4 L[i] = input('Saisir la chaine N° {} : '.format(i+1))
5
6 return L
4. Ecrire une fonction trier_liste_chaine(L,n) qui recoit en argument une
liste L de n chaines de caractères alphabétiques, la fonction trie et retourne la
liste Ltriée suivant l'order alphabétique.
?
1
2# Tri à bulles
3# Ordre croissant
4def trier_liste_chaine(L):
n = len(L)
5
6
# Parcourez tous les éléments du tableau
7
for i in range(n):
8
9 # Les i derniers éléments sont déjà en place
10 for j in range(0, n-i-1):
11
12 # Parcourez le tableau de 0 à n-i-1
13 # Échanger si l'élément trouvé est supérieur
14 # que l'élément suivant
15 if cmp_chaine(L[j], L[j+1]) == 1:
16 L[j], L[j+1] = L[j+1], L[j]
5. Ecrire un programme qui permet de saisir un entier n et une liste de nchaines de
caractères, puis de tester les fonctions définie dans les questions 1, 2 et 3.
?
1def chaine_chiffres(ch):
2 for c in ch:# pour chaque c de ch
3 if c < '1' or c > '9':
4 return False
5 return True
2. Ecrire un programme qui permet de saisir une chaine de caractères, puis de tester la
fonction définie dans la question 1.
?
1def supp_espace(ch):
2 i = 0 # indice de dernier caractère espace
3 for c in ch:# pour chaque c de ch
4 if c == ' ':
5 i += 1
6 return ch[i:]
2. Ecrire une fonction alphabetique(ch) qui recoit en argument une chaine de
caractères ch, la fonction retourne la chaine chaprès avoir supprimé tous les
caractères qui ne sont pas des caractères alphabétiques dans cette chaine.
?
1def alphabetique(ch):
2 res = ""
3 for c in ch:# pour chaque c de ch
4 if 'a' <= c <= 'z' or 'A' <= c <= 'Z':
5 res += c
6 return res
3. Ecrire un programme qui permet de saisir une chaine de caractère, puis tester les
deux fonctions définies dans les question 1 et 2.
?