Vous êtes sur la page 1sur 2

TD 6 - Programmation pour les Sciences (Python)

Chaînes de caractères et tableaux

Exercice 1
Longueur chaîne
Ecrire un script python qui demande de saisir 2 chaines de caractères et qui affiche la plus grande
des deux chaînes (celle qui a le plus de caractères).

Exercice 2
Palindrome
Ecrire dans un programme une fonction qui indique, si une chaîne de caractères est ou non un
palindrome.
1. Sans utiliser une boucle
2. En utilisant une boucle
N.B : -un palindrome est un mot qui peut s’écrire dans les deux sens, exemple : radar
-La commande list(chaine) permet de transformer une chaîne de caractères en liste de caractères.

Exercice 3
Produit matriciel
Ecrire une fonction pour effectuer le produit de deux matrices A et B. Voici un exemple de deux
matrices de de dimension 3×3 donné par l'expression suivante:
3 3 3

∑ 𝑎1,𝑖 × 𝑏𝑖,1 ∑ 𝑎1,𝑖 × 𝑏𝑖,2 ∑ 𝑎1,𝑖 × 𝑏𝑖,3


𝑖=1 𝑖=1 𝑖=1
𝑎1,1 𝑎1,2 𝑎1,3 𝑏1,1 𝑏1,2 𝑏1,3 3 3 3
𝑎
[ 2,1 𝑎2,2 𝑎2,3 ] × [𝑏2,1 𝑏2,2 𝑏2,3 ] = ∑ 𝑎2,𝑖 × 𝑏𝑖,1 ∑ 𝑎2,𝑖 × 𝑏𝑖,2 ∑ 𝑎2,𝑖 × 𝑏𝑖,3
𝑎3,1 𝑎3,2 𝑎3,3 𝑏3,1 𝑏3,2 𝑏3,3 𝑖=1 𝑖=1 𝑖=1
3 3 3

∑ 𝑎3,𝑖 × 𝑏𝑖,1 ∑ 𝑎3,𝑖 × 𝑏𝑖,2 ∑ 𝑎3,𝑖 × 𝑏𝑖,3


[ 𝑖=1 𝑖=1 𝑖=1 ]

Exercice 4
Utilisation de listes de listes pour représenter des matrices
Dans un premier temps, nous allons manipuler des matrices représentées par des listes de listes. Par
exemple,
1 2 3
la matrice 𝐴 = ( ) peut-être représentée en Python comme ceci A=[[1, 2, 3], [4, 5, 6]]
4 5 6
1. Écrivez la fonction creer_matrice(n, m) qui crée une matrice de n lignes et m colonnes. La
première chose à faire est de créer une matrice resultat vide. Pour créer une liste à N
éléments vides, on peut utiliser [None] * N (par exemple, [None] * 3 vaut [None, None,
None]). On doit procéder en deux temps :

1/2
a. Créer la liste de lignes (avec pour l’instant les valeurs None à la place des lignes) :
resultat = [None] * n.
b. Pour chaque élément de cette liste, créer une ligne et l’affecter : resultat[i] = [None]
* m.
Testez votre code avec plusieurs valeurs de n et m.
2. Écrivez la fonction afficher_matrice(m) qui affiche la matrice m. Vous aurez besoin
d’imbriquer deux boucles for. Pour afficher une valeur x sans revenir à la ligne, on peut
utiliser print(x, end=’’).
3. Ecrire une fonction addition(a, b) qui calcule la somme de deux matrices. Il faut procéder en
trois temps :
a. Récupérer le nombre de lignes n et de colonnes m de m1 ou m2
b. Appeler creer_matrice(n, m)
c. Faire la somme composante par composante avec deux boucles for imbriquées.
4. Ecrire un programme principal pour tester ces fonctions

Exercice 5
Tableau trié
Ecrire une fonction partition(n) qui construit un tableau 1d x avec n éléments tels que 𝑥0 = 0 ≤
𝑥1 ≤ 𝑥2 ≤ . . ≤ 𝑥𝑛−1 = 1 et où les 𝑥𝑖 , i ∈ [1, 𝑛 − 2] sont obtenus au hasard uniforme sur[0,1].

Aide : vous pouvez utiliser les fonctions random.rand, concatenate et la méthode sort de numpy.

Exercice 6
Transposer une matrice
Programmer une fonction transpoze(A) qui, étant donné une matrice à deux dimensions A, retourne
la matrice B dont la première colonne est la première ligne de A, la seconde la deuxième ligne de
A, etc. B s’appelle la transposée de A.

Exercice 7
Matrice croix (fantaisie).
Écrire la matrice carrée M de taille 2n+1 comportant des 1 sur la (n + 1)ième ligne et la
(n + 1)ième colonne et des 0 ailleurs.

Mots-clefs : module numpy : fonctions np.zeros(( , ), int), np.ones(( , ), int), concaténation


horizontale et verticale de matrices

2/2

Vous aimerez peut-être aussi