File size: 6,402 Bytes
f073e54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4a7a87f
f073e54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
1_16
;;;
On désire programmer une fonction qui prend en paramètre le rayon d'un cercle et renvoie son aire

Exemple :
```
>>> aire_cercle(2)
28.274
```
Complétez la fonction aire_cercle dans l'éditeur de code (remplacez les ...)
;;;
import math

def aire_cercle(...):
    aire = math.pi*rayon**2
    return ...
;;;
c=""
if round(aire_cercle(3)) == 28:
    c+="1"
else  :
    c+="0"
;;;
1_17
;;;
On désire programmer une fonction qui prend en paramètre un nombre et qui renvoie la chaîne de caractères "pair" si le nombre est pair et "impair" dans le cas contraire

Exemples :
```
>>> pair_impair(4)
"pair"
>>> pair_impair(3)
"impair"
```
Complétez la fonction `pair_impair` dans l'éditeur de code (remplacez les ...)
;;;
import math

def pair_impair(n):
    if ... % 2 == 0:
        return ...
    else :
        return "impair"
;;;
c=""
if pair_impair(4) == "pair":
    c+="1"
else  :
    c+="0"
if pair_impair(3) == "impair":
    c+="1"
else  :
    c+="0"
;;;
1_19
;;;
Vous êtes gérant d'un magasin et vous désirez écrire un programme Python qui calculera automatiquement le montant de la facture des clients.

Tout client qui achète au moins 5 fois le même article se voit octroyer une remise de 5 % (uniquement sur le montant de l'achat de cet article).

Afin de simplifier le problème, on considère qu'un client n'achète qu'un seul type d'article.

Écrivez une fonction `facture` qui prend en paramètre le prix unitaire de l'article `p` et le nombre d'articles achetés `n`. Cette fonction doit renvoyer le montant de la facture.

Exemples :
```
>>> facture(3,4)
12
>>> facture(3,5)
14.25
;;;
;;;
c=""
if facture(3,4) == 12:
    c+="1"
else  :
    c+="0"
if round(facture(3,5),2) == 14.25:
    c+="1"
else  :
    c+="0"
;;;
2_12
;;;
La fonction recherche_max prend en paramètre un tableau et renvoie la plus grande valeur présente dans le tableau (le tableau est constitué d'entiers positifs ou nuls).

Exemples :
```
>>> recherche_max([4, 3, 0, 5])
5
>>> recherche_max([-3, -2, -12, -22])
-2
```
Compétez la fonction dans l'éditeur de code.
;;;
def recherche_max(tab):
    maxi = ...
    for t in tab :
        if ... > maxi :
            maxi = ...
    return ...
;;;
c=""
if recherche_max([4, 3, 0, 5]) == 5:
    c+="1"
else  :
    c+="0"
if recherche_max([-3, -2, -12, -22]) == -2:
    c+="1"
else  :
    c+="0"
;;;
2_13
;;;
La fonction somme prend en paramètres un tableau tab contenant des entiers. Cette fonction renvoie la somme des entiers présents dans le tableau tab.

Exemple :
```
>>> somme([3,5,8,4])
20
```
Complétez la fonction `somme` dans l'éditeur de code.
;;;
def somme(tab):
    s = ...
    for t in ... :
        s = s + ...
    return ...
;;;
c=""
if somme([3,5,8,4]) == 20:
    c+="1"
else  :
    c+="0"
;;;
2_14
;;;
La fonction recherche prend en paramètres un tableau tab contenant des entiers et un entier n. Cette fonction renvoie l'indice de position de l'entier n s'il est présent dans le tableau tab ou -1 dans le cas contraire (on partira du principe que le tableau ne peut pas contenir 2 fois le même entier).

Exemples : 
```
>>> recherche([3,5,8,34], 8)
2
>>> recherche([3,5,8,34], 42)
-1
```
Complétez la fonction `recherche` dans l'éditeur de code
;;;
def recherche(tab, n):
    for i in ... :
        if n == ... :
            return ...
    return ...
;;;
c=""
if recherche([3,5,8,34], 8) == 2:
    c+="1"
else  :
    c+="0"
if recherche([3,5,8,34],42) == -1:
    c+="1"
else  :
    c+="0"
;;;
2_15
;;;
Écrire une fonction moyenne qui prend en paramètre un tableau d'entiers non vide `tab` et qui renvoie la moyenne de ces entiers.

Exemple :
```
>>> moyenne([12,15,17,0])
11
```
;;;
;;;
c=""
if moyenne([12,15,17,0]) == 11:
    c+="1"
else  :
    c+="0"
;;;
3_6
;;;
On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu :
```
[{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]
```
La fonction `plusHaute` prend en paramètre un tableau contenant des dictionnaires (comme celui ci-dessus) et renvoie le nom de l'élève ayant obtenu la meilleure note (on partira du principe que les élèves ont tous des notes différentes).

Complétez la fonction `plusHaute` dans l'éditeur de code.
;;;
def plusHaute(tab):
    nom = ""
    max_note = ...
    for t in ...:
        if t['note'] > ...:
            max_note = t[...]
            nom = t[...]
    return ...
;;;
c=""
if plusHaute([{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]) == "Toto":
    c+="1"
else  :
    c+="0"
;;;
3_7
;;;
On utilise un tableau et des dictionnaires pour stocker des noms et des numéros de téléphone :
```
[{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}]
```
La fonction numTel prend 2 paramètres : un tableau de dictionnaires `tab_tel` contenant les noms et les numéros de téléphone (comme celui ci-dessus) et un nom `n`

La fonction `numTel` doit renvoyer le numéro de téléphone de `n` si ce dernier existe. Dans le cas où `n` n'existe pas, la fonction `numTel` doit renvoyer -1

Exemples :
```
>>> numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tutu')
424224
>>> numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tata')
-1
```
Complétez la fonction `numTel` dans l'éditeur de code.
;;;
def numTel(..., n):
    for ... in tab_tel:
        if ...  == t['nom']:
            return ...
    return ...
;;;
c=""
if numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tutu') == 424224:
    c+="1"
else  :
    c+="0"
if  numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tata') == -1:
    c+="1"
else  :
    c+="0"
;;;
3_8
;;;
On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu :
```
[{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]
```
La fonction `moyenne` prend en paramètre un tableau contenant des dictionnaires (comme celui ci-dessus) et renvoie la moyenne des notes.

Écrivez la fonction `moyenne`
;;;
;;;
c=""
if moyenne([{'nom':'Titi', 'note':13}, {'nom':'Tutu', 'note':14}, {'nom':'Toto', 'note':18}]) == 15:
    c+="1"
else  :
    c+="0"
;;;