• Aucun résultat trouvé

08.Recherche dans une liste

N/A
N/A
Protected

Academic year: 2022

Partager "08.Recherche dans une liste"

Copied!
2
0
0

Texte intégral

(1)

TSI - Travaux Pratiques d’informatique

08.Recherche dans une liste

Nous utiliserons dans ce TP le langage de programmation Python au moyen de l’environnement de d´eveloppement IDLE.

Exercice 1. Tester le programme suivant :

def positifs(l):

’’’extraction des valeurs positives d’une liste de nombres l’’’

L=[]

for k in range(0,len(l)):

if l[k]>=0:

L.append(l[k]) return(L)

Exercice 2. Cr´eer puis tester une fonction indicesdespositifs de la variable l retournant la liste des indices des valeurs positives d’une liste de nombres l .

(par exempleindicesdespositif s([1,0,−1,−5,8]) vaut [0,1,4])

Exercice 3. Cr´eer puis tester une fonction recherche des variables v et l retournant la liste des indices des occurrences de la valeur v dans la liste de nombres l .

(par exemplerecherche(2,[1,2,−1,2,5,−7,2]) vaut [1,3,6])

Exercice 4. Cr´eer puis tester une fonction suppression des variables v et l retournant la liste obtenue en supprimant les occurrences de la valeur v dans la liste de nombres l .

(par exemplesuppression(2,[1,2,−1,2,5,−7,2]) vaut [1,−1,5,−7])

Pour les exercices suivants, on repr´esente une matrice comme la liste de ses lignes.

Exercice 5. Cr´eer puis tester une fonction diagonale de la variable M retournant la diagonale de la matrice carr´ee M .

(par exemplediagonale([[1,2,3],[4,5,6],[7,8,9]]) vaut [1,5,9])

Exercice 6. Cr´eer puis tester une fonction matricediagonale de la variable d retournant une matrice carr´ee de diagonale d dont les coefficients non diagonaux sont nuls.

(par exemplematricediagonale([1,2,3]) vaut [[1,0,0],[0,2,0],[0,0,3]])

Exercice 7. Cr´eer puis tester une fonction decomposition de la variable M retournant une matrice de nombres positifs et une matrice de nombres n´egatifs dont la somme est ´egale `a M .

(par exempledecomposition([[1,−2,3],[−1,−5,7]]) vaut [[1,0,3],[0,0,7]],[[0,−2,0],[−1,−5,0]])

www.emmanuelmorand.net 1/2 supTSI1617TpInfo08

(2)

TSI - Travaux Pratiques d’informatique 08.Recherche dans une liste

R´ eponses

2)

def indicesdespositifs(l):

’’’retourne les indices des valeurs positives d’une liste de nombres l’’’

L=[]

for k in range(0,len(l)):

if l[k]>=0:

L.append(k) return(L)

3)

def recherche(v,l):

’’’retourne les indices des occurrences de la valeur v dans la liste de nombres l’’’

L=[]

for k in range(0,len(l)):

if l[k]==v:

L.append(k) return(L)

4)

def suppression(v,l):

’’’retourne la liste obtenue en supprimant les occurrences de la valeur v dans la liste de nombres l’’’

L=[]

for k in range(0,len(l)):

if l[k]!=v:

L.append(l[k]) return(L)

5)

def diagonale(M):

’’’retourne la diagonale de la matrice carr´ee M’’’

d=[]

for i in range(0,len(M)):

d.append(M[i][i]) return(d)

6)

def matricediagonale(d):

’’’retourne une matrice carr´ee de diagonale d dont les coefficients non diagonaux sont nuls’’’

M=[]

for i in range(0,len(d)):

M.append([])

for j in range(0,len(d)):

if i==j:

M[i].append(d[i]) else:

M[i].append(0) return(M)

7)

def decomposition(M):

’’’retourne une matrice de nombres positifs et une matrice de nombres n´egatifs dont la somme vaut M’’’

Mp=[]

Mn=[]

for i in range(0,len(M)):

Mp.append([]) Mn.append([])

for j in range(0,len(M[i])):

if M[i][j]>=0:

Mp[i].append(M[i][j]) Mn[i].append(0) else:

Mp[i].append(0) Mn[i].append(M[i][j]) return(Mp,Mn)

www.emmanuelmorand.net 2/2 supTSI1617TpInfo08

Références

Documents relatifs

Quelle formule a-t-on entré dans la cellule B2 puis recopié vers le bas pour obtenir directement tous les termes de la suite u dans la colonne

déterminer l’ensemble des points M’’ lorsque M décrit la

Les matières premières entrant dans la production du kitoza : (Ireo akora ampiasaina amin’ny famokarana kitoza 6.1 Quels sont les différents types de viande que vous utilisez pour

Écrivez la fonction ajoute_tete(x,l) qui ajoute un nœud contenant la valeur x en tête d’une liste circulaire l (le premier nœud de la nouvelle liste doit contenir x et la liste

R´ealiser un document similaire `a celui fourni `a l’aide d’un logiciel de traitement de

Le fichier joint contient les donn´ ees permettant de tracer le spectre d’´ emission du soleil (i.e.. En utilisant la fonction indice max(liste) d´

Cr´eer un programme Python permettant de r´ealiser le chiffrement ROT13 d’un fichier texte, puis cr´eer un programme Python permettant de r´ealiser le d´echiffrement.

Cr´eer puis tester une fonction mediane de la variable l retournant la m´ediane(moyenne des valeurs centrales apr`es classement en ordre croissant) des valeurs d’une liste de