---
# System prepended metadata

title: GR 5 EQ 2

---

# 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)
```

