INFO TEST du 10 février 2016 BTS 1
Premier travail : 10 points
Voici un script en Python 2.7
from random import*
def info():
T=[]
s=0
F=input("Quel est en euros votre budget ? ")
for x in range(4):
T.append([])
for i in range(3):
a=raw_input("Quel produit voulez-vous acheter? ")
b=input(" Quel est son tarif en euros? ")
c=input("Combien en voulez-vous ? ")
T[0].append(a)
T[1].append(b)
T[2].append(c)
for i in range(3):
s=s+T[1][i]*T[2][i]
T[3].append(T[1][i]*T[2][i])
if s<=F:
print " OK. Cela vous fera: ",s,"€"
else:
print " Revoyez votre budget"
for line in T:
print line
QUESTIONS:
1. Citer toutes les variables utilisées et donner leur type.
T liste a chaîne b, c , s , F , i ,x des valeurs numériques
2. Que signifie T = [ ] ? Que signifie else: ?
T est déclarée comme une liste vide else: veut dire sinon
3. Donner les valeurs les valeurs prises par x quand on écrit :
for x in range(4): x prend les valeurs 0 , 1 , 2 , 3
4. Quel est l'effet produit par:
for line in T:
print line ? Les termes de T s'affichent successivement sur des
lignes différentes.
5. Que donne cet algorithme ? Le montant de la dépense en euros si l'achat est possible
puis la liste des trois produits à acheter
puis la liste de leurs prix
puis le nombre demandé pour chacun.
enfin pour chaque type produit le montant à payer.
6. Qu'est-ce que s ? Le montant à payer.
7. Qu'y a-t-il dans T [ 3] à la fin ? Les montants à payer par type de produit.
8. Que représente T[0] à la fin ? La liste des produits à acheter.
9. Quel est l'effet de T.append([]) ? Ajoute une liste vide comme nouveau terme à la fin de la liste T
10. Pourquoi a-t-on mis ?
a=raw_input("Quel produit voulez-vous acheter? ") Pour saisir une chaîne c-àd le nom du produit.
Le résultat suivant vous paraît-il correct ? OUI car
2 x 10 = 20
44 x 12 = 528
11 x 5 = 55
et 20 + 528 + 55 = 603
>>> info()
Quel est en euros votre budget ? 1000
Quel produit voulez-vous acheter? vase
Quel est son tarif en euros? 2
Combien en voulez-vous ? 10
Quel produit voulez-vous acheter? lampe
Quel est son tarif en euros? 44
Combien en voulez-vous? 12
Quel produit voulez-vous acheter? cahier
Quel est son tarif en euros? 11
Combien en voulez-vous? 5
OK. Cela vous fera: 603 €
['vase', 'lampe', 'cahier']
[2, 44, 11]
[10, 12, 5]
[20, 528, 55]
>>>
---------------------------------------------------------------------------
Second travail 10 points
1. Écrire un script en Python 2.7 qui quand on saisit la liste des noms de 4 étudiants
avec leur quatre notes en maths et leur quatre notes en anglais donne la moyenne
de chacun dans l'hypothèse où en anglais le coefficient est 3 et en maths le coefficient
est 2.
2. Modifier le script pour qu'il donne la meilleure moyenne et le nom d'un étudiant qui l'a obtenue.
On peut considérer pour les questions 1 et 2:
from random import*
def rit():
B=[]
Noms=input("Donner la liste des noms des étudiants ")
A=input("Donner la liste des notes d'anglais ")
M=input("Donner la liste des notes de maths ")
B.append(Noms)
B.append(A)
B.append(M)
L=[]
for i in range(4):
L.append(( 3*A[i]+2*M[i])/5.)
B.append(L)
s=L[0]
t=Noms[0]
for i in range(4):
if s<L[i]:
s=L[i]
t=Noms[i]
print " La meilleure moyenne pondérée est",s
print " En tête de classe il y a: ",t
Par exemple:
>>> rit()
Donner la liste des noms des étudiants ["gérard","Barnabé","Julien","Joy"]
Donner la liste des notes d'anglais [14,9,11,7]
Donner la liste des notes de maths [8,9,11,7]
La meilleure moyenne pondérée est 11.6
En tête de classe il y a: gérard
>>>
3. Donner un script qui quand on saisit une liste de 15 entiers naturels pairs ou impairs donne
la liste de ceux qui sont divisibles par trois.
On peut proposer:
def choix():
L=input("Donner une liste de 15 entiers naturels: ")
G=[]
for elem in L:
if elem%3==0:
G.append(elem)
print G
Par exemple :
>>> choix()
Donner une liste de 15 entiers naturels: [14,2,6,7,48,14,65,9,8,7,13,18,10,19,23]
[6, 48, 9, 18]
>>>
----------------------------------------------------------------------------------------