PYTHON 2.7 TEST 2 D'ALGO 11/12/2013
A PREMIER TRAVAIL
1. On donne le script suivant:
from random import*
def concat():
L=[1,2,3]
F=[4,5,6]
G=L+F
print G
QUESTIONS:
a. Qu'affiche finalement ce script?
b. Que faudrait-il modifier dans ce script pour que les deux listes L et F
soient demandées à celui qui lance le script?
c. Ce script étant écrit, dans la fenêtre window , que doit-on faire pour le lancer?
2. On considère le script suivant:
from random import*
def concat():
L=["Lundi","Mardi", "Mercredi","Jeudi","Vendredi","Samedi"," Dimanche"]
j=raw_input("Donnez un jour de la semaine" )
h=input("Précisez l'heure")
if j==L[6] or( j==L[5] and ( h< 8 or h>12) ):
print "Désolé mais c'est fermé"
else:
if ( 8<= h and h <=12) or ( 14<= h and h <=19):
print "C'est ouvert"
else:
print "Désolé mais c'est fermé"
QUESTIONS:
a. Pourquoi a-t-on mis raw_input ?
b. Quelle est la nature des éléments de la liste L.
c. Qu'est-ce que L[6] ?
d. Que signifie ( 8<= h and h <=12) or ( 14<= h and h <=19)
e. Quels sont les horaires d'ouverture?
----------------------------------------------------------------------------------------------------------------------
B SECOND TRAVAIL
Voici un algorithme en Python 2 . 7
from random import*
def trim():
L=input("Entrer une liste de quatre prénoms " )
L1=input("Entrer un liste de quatre notes ")
L2=input("Entrer une seconde liste de quatre notes ")
M=[]
for i in range(0,4):
M.append((L1[i]+L2[i])/2.0)
L.insert(2*i+1,round(M[i],2))
print L
Vous êtes informé que round( 7.789456,2) donne 7.79
c-à-d arrondit au centième supérieur le nombre décimal 7.789456 et ne donne que deux décimales.
QUESTIONS
1. Quelles sont les valeurs successives de i ?
2. Que signifie M=[] ?
3. Qu'est-ce que L[0] ?
4. Pourquoi a-t-on divisé par 2.0 au lieu de 2 ?
Pouvait-on laisser 2 mais multiplier par 1.0 le numérateur
pour le même effet ?
5. Quel est l'effet produit par M.append((L1[i]+L2[i])/2.0) ?
6. Quelles sont les valeurs de 2*i+1 ?
7. Quel est l'effet produit par L.insert(5,round(M[2],2))?
8. Dans le cas où l'on entre,
L= ["Joe","Alice","Ronan","Silva"]
L1=[16,14,7,11]
L2=[12,15,13,9]
indiquer ce qu'affiche le script.
9. A présent la liste L1 est constituées de notes d'anglais et la liste L2
est la liste de notes d'informatique.
On admet que le coefficient de l'anglais est 3 et que le coefficient
de l'informatique est 8.
Modifier le script proposé pour avoir les moyennes pondérées des étudiants.
10. Que devrait -on changer si la classe comportait 24 étudiants?
-------------------------------------------------------------------------------------------------------------