# GR 5 EQ 2
# Exercice 1
**Question 1**
- liste = [2, 5, 1, 9, 11]
Aucun résultat : insère la liste dans la variable nommée "liste"
- list(liste)
Retourne la liste [2,5,1,9,11]: convertit la liste en liste
- tuple(liste)
Retourne le tupe (2,5,1,9,11) : convertit la liste en tuple
- str(liste)
Retourne la chaine de caractères '[2,5,1,9,11]' : convertit la liste en chaine de caractères
- dict((x, 0) for x in liste)
{2: 0, 5: 0, 1: 0, 9: 0, 11: 0}
Retourne un dictionnaire
- dict((x, i) for i, x in enumerate(liste))
{2: 0, 5: 1, 1: 2, 9: 3, 11: 4}
Retourne un dictionnaire qui associe les valeurs à leur position dans la liste
- set(liste)
{1, 2, 5, 9, 11}
Retourne un ensemble
- set([100,] + liste)
{1, 2, 100, 5, 9, 11}
**Question 2**
- list(chaine)
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
- tuple(chaine)
('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
- str(chaine)
'hello world'
- dict((x, 0) for x in chaine)
{'h': 0, 'e': 0, 'l': 0, 'o': 0, ' ': 0, 'w': 0, 'r': 0, 'd': 0}
- dict((x, i) for i, x in enumerate(chaine))
{'h': 0, 'e': 1, 'l': 9, 'o': 7, ' ': 5, 'w': 6, 'r': 8, 'd': 10}
- set(chaine)
{'w', 'r', ' ', 'l', 'd', 'e', 'o', 'h'}
- set([100,] + liste)
Pas possible
**Question 3**
Soit la liste : liste=[2,5,4,7,1,3]
On a les instructions suivantes et leurs résultats:
```python
liste.append(5)
[2,5,4,7,1,3,5]
len(liste)
7
liste.extend([2,3])
[2,5,4,7,1,3,5,2,3]
liste.insert(3, 9)
[2,5,4,9,7,1,3,5,2,3]
liste.remove(3)
[2,5,4,9,7,1,5,2,3]
liste.pop(-1)
3
[2,5,4,9,7,1,5,2]
liste.index(9)
3
liste.count(2)
2
liste.sort()
[1,2,2,4,5,5,7,9]
sorted(liste)
TRUE
liste.reverse()
[9,7,5,5,4,2,2,1]
```
# Exercice 2
**Question 1**
```python
def afficherTitre(liste,largeur):
for i in liste:
largeur= max(largeur,len(i))
for i in range(largeur + 1):
print('*', end='')
print('*')
for j in liste:
print('*', end='')
print(j.center(largeur), end='')
print('*')
for i in range(largeur + 2 ):
print('*', end='')
```
L'instruction : ```
afficherTitre(["L'ingénieux hidalgo","Don Quichotte de la Manche","","Composé par Miguel de Cervantes","","Avec privilège royal","à Madrid","en l'an de grâce 1605" ],50) ``` renvoie :
```python
****************************************************
* L'ingénieux hidalgo *
* Don Quichotte de la Manche *
* *
* Composé par Miguel de Cervantes *
* *
* Avec privilège royal *
* à Madrid *
* en l'an de grâce 1605 *
****************************************************
```
**Question 3**
```python
def afficherTitre2(liste,largeur,option):
for i in liste:
largeur= max(largeur,len(i))
for i in range(largeur + 1):
print('*', end='')
print('*')
for j in liste:
print('*', end='')
if option == 0 :
print(j.center(largeur), end='')
elif option ==1 :
print(j.rjust(largeur), end='')
elif option == 2:
print(j.ljust(largeur), end='')
print('*')
for i in range(largeur + 2 ):
print('*', end='')
```
Avec 0 pour centrer, 1 pour affichage à droite et 2 à gauche
# Exercice 3
```python=
def incluse(a,b):
for i in a:
if not i in b:
return(False)
return(True)
def verifierEntierValide(val, inf, sup):
return(incluse(val,'0123456789') and (inf == None or int(val) >= inf) and (sup == None or int(val) <= sup))
```
# Exercice 4
```python=
def moyenne_mobile(liste,n):
moyenne=[]
for i in range(len(liste)-n+1):
moyenne.append(sum(liste[i+j] for j in range(n)))
for j in range(len(moyenne)):
moyenne[j] = moyenne[j]/n
return(moyenne)
```
# Exercice 5
```python=
def computeMeanAndStdDev(n):
nombres=[random() for i in range(n)]
moyenne=sum(nombres)/n
ecart_type=sqrt(sum([i**2 for i in nombres])/n - moyenne**2)
return(moyenne,ecart_type)
def test_randint(n,a,b):
dict = {}
for i in range(n):
k = random.randint(a,b)
if k not in dict.keys():
dict[k]=1
else:
dict[k] += 1
L=[]
for i in range(b-a):
if i not in dict.keys():
L.append(0)
else:
L.append(dict[i]/n)
return(dict,L)
```