BNS PREMIERE NSI

QUESTIONS CHAPITRE 2

Q1 - On veut affecter à t la valeur [[0,1,2], [3,4,5], [6,7,8], [9,10,11], [12,13,14]]. Pour cela on utilise le code suivant. Par quoi doit-on remplacer les pointillés …… ?


n = 5
p = 3
t = [ [ …… for j in range(p) ]  for i in range(n) ]
		

Réponses :

A- i*j + j

B- p*i + j

C- p*j + i

D- i*(j+1)


Q2 - On considère le script suivant :


t = [2, 8, 9, 2]
t[2] = t[2] + 5
		

Quelle est la valeur de t à la fin de son exécution ?

Réponses :

A- [2, 13, 9, 2]

B- [2, 8, 14, 2]

C- [7, 13, 14, 7]

D- [7, 13, 9, 2]


Q3 - On dispose dans le tableau annee2019 les températures mensuelles moyennes d'une région française. On exécute le script suivant :


annee2019  = [('janvier',6), ('février',6), ('mars',12),
('avril',20), ('mai',23), ('juin',25),
('juillet',29), ('août',25), ('septembre',22),
('octobre',15), ('novembre',11), ('décembre',7)]

m = annee2019[0][1]
for mois in annee2019:
  if (m > mois[1]):
    m = mois[1]
		

Que contient la variable m à la fin de cette exécution ?

Réponses :

A- le mois le plus froid

B- le mois le plus chaud

C- la température moyenne la plus basse

D- la température moyenne la plus haute


Q4 - Quelle instruction permet d’affecter la liste [0,1,4,9,16] à la variable tableau ?

Réponses :

A- tableau = [ i**2 for i in range(4) ]

B- tableau = [ i**2 for i in range(5) ]

C- tableau = [ i**2 for i in range(16) ]

D- tableau = [ i**2 for i in range(17) ]


Q5 - Quelle est la valeur de la variable r à la fin de l'exécution du script suivant ?


t = (10,6,1,12,15)
r = t[3] - t[1]
		

Réponses :

A- -9

B- 2

C- 3

D- 6


Q6 - On définit L = [4,25,10,9,7,13]. Quelle est la valeur de L[2] ?

Réponses :

A- 4

B- 25

C- 10

D- 9


Q7 - Quel est le type de l'expression f(4) si la fonction f est définie par :


def f(x):
  return (x, x**2)
		

Réponses :

A- un entier

B- un flottant

C- une liste

D- un tuple


Q8 - On considère la liste de listes suivante :


tictactoe = [['X', 'O', 'O'],
             ['O', 'O', 'O'],
             ['O', 'O', 'X']]
		

Quelle instruction permet d'obtenir une diagonale de 'X' ?

Réponses :

A- tictactoe[3] = 'X'

B- tictactoe[4] = 'X'

C- tictactoe[1][1] = 'X'

D- tictactoe[2][2] = 'X'


Q9 - On définit ainsi une liste M :


M = [['A','B','C','D'], ['E','F','G','H'], ['I','J','K','L']]
		

Quelle expression vaut la chaîne de caractères 'H' ?

Réponses :

A- M[1][3]

B- M[3][1]

C- M(7)

D- M(8)


Q10 - On dispose d'une liste définie par L = [15,17,12,23]. Quelle est la valeur de L après l'instruction L[2] = 25 ?

Réponses :

A- [15,25,12,23]

B- [15,17,25,12,23]

C- [15,17,25,23]

D- [15,17,12,25,23]


Q11 - Soient n et p deux entiers au moins égaux à 2. On définit une liste de listes t par le code suivant :


# n et p sont initialisés dans les lignes précédentes

t = [ [ 0 for j in range(p) ] for i in range(n) ]

for k in range(n*p):
  t[k%n][k%p] = k
		

Une et une seule des affirmations suivantes est fausse. Laquelle ?

Réponses :

A- La liste t contient des entiers tels que 0 <= k < n x p

B- Pour tout j tel que 0 <= j < n-1, t[j][0] est un multiple de p.

C- La liste t[0] contient des entiers qui sont tous multiples de n.

>D- Pour tout j tel que 0 <= j < n-1, t[0][j] est un multiple de p.


Q12 - Que vaut l'expression [ 2*k for k in range(5) ] ?

Réponses :

A- [0,2,4,6,8]

B- [2,4,6,8,10]

C- [1,2,4,8,16]

D- [2,4,8,16,32]


Q13 - On exécute le code suivant :


A = [ [1,2,3], [4,5,6], [7,8,9] ]
B = [ [0,0,0], [0,0,0], [0,0,0] ]
for i in range(3):
  for j in range(3):
    B[i][j] = A[j][i]
		

Que vaut B à la fin de l'exécution ?

Réponses :

A- rien du tout, le programme déclenche une erreur d'exécution

B- [ [3,2,1], [6,5,4], [9,8,7] ]

C- [ [1,4,7], [2,5,8], [3,6,9] ]

D- [ [7,8,9], [4,5,6], [1,2,3] ]


Q14 - Après l'affectation suivante :


alphabet = [	'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'  ]
		

quelle est l'expression qui permet d'accéder à la lettre E ?

Réponses :

A- alphabet.E

B- alphabet['E']

C- alphabet[4]

D- alphabet[5]


Q15 - On définit : L = [10,9,8,7,6,5,4,3,2,1]. Quelle est la valeur de L[L[3]] ?

Réponses :

A- 3

B- 4

C- 7

D- 8


Q16 - On considère le code suivant :


t = [0, 3, 5, 7, 9]
t[9] = 3 + t[5]
		

Que vaut t à la fin de son exécution ?

Réponses :

A- [0, 3, 5, 7, 9]

B- [0, 3, 5, 7, 9, 3]

C- [0, 3, 5, 7, 9, 8]

D- l'exécution déclenche une erreur


Q17 - On définit :


resultat = [ i*2 for i in range(10) ]
		

Quelle est la valeur de resultat ?

Réponses :

A- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

B- [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

C- [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

D- [2, 4, 6, 8, 10, 12, 14, 16, 18]


Q18 - On considère la fonction suivante :


def somme(tab):
  s = 0
  for i in range(len(tab)):
    ......
  return s
		

Par quelle instruction faut-il remplacer les points de suspension pour que l'appel somme([10,11,12,13,14]) renvoie 60 ?

Réponses :

A- s = tab[i]

B- s = s + tab[i]

C- tab[i] = tab[i] + s

D- s = s + i


Q19 - On exécute le script suivant.


m = []
for i in range(5):
  n = []
  for j in range(3):
    n.append(i*j)
  m.append(n)
		

Quelle est la valeur de m à la fin de son exécution ?

Réponses :

A- [ [0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8] ]

B- [ [0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6], [0, 4, 8] ]

C- [ [1, 1, 1], [2, 4, 6], [3, 6, 9], [4, 8, 12], [5, 10, 15] ]

D- [ [1, 1, 1, 1, 1], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20], [5, 10, 15, 20, 25] ]


Q20 - On considère le code suivant :


def feed(t):
  for i in range(len(t)):
    t[i] = 0
  return t
		

Que renvoie feed([12, 24, 32]) ?

Réponses :

A- [120, 240, 320]

B- [0, 0, 0]

C- [ ]

D- [0]


Q21 - L est une liste d'entiers. On définit la fonction suivante :


def f(L):
  m = L[0]
  for x in L:
    if x > m:
      m = x
  return m
		

Que calcule cette fonction ?

Réponses :

A- le maximum de la liste L passée en argument

B- le minimum de la liste L passée en argument

C- le premier terme de la liste L passée en argument

D- le dernier terme de la liste L passée en argument


Q22 - On considère le code suivant :


t = [1, 6, 8, 3, 21]
u = [x for x in t if x > 3]
		

Que vaut u à la fin de son exécution ?

Réponses :

A- [1, 6, 8, 21]

B- [6, 8, 3, 21]

C- [6, 8, 21]

D- [1, 3, 6, 21]


Q23 - On exécute le code suivant :


t = [1,2,3,4,5,6,7,8,9]
v = [c for c in t if c%3 == 0]
		

Quelle est la valeur de la variable v à la fin de cette exécution ?

Réponses :

A- 18

B- [1,4,7]

C- [3,6,9]

D- [1,2,3,4,5,6,7,8,9]


Q24 - On a défini : T = [[1,2,3], [4,5,6], [7,8,9]].

Quelle expression parmi les suivantes a pour valeur le nombre 8 ?

Réponses :

A- T[1,2]

B- T[1][2]

C- T[2,1]

D- T[2][1]


Q25 - On définit :
L = [ ["lundi",10,0.87], ["mardi",11,0.82], ["mercredi",12,0.91] ]

Quel est le type de la variable a définie par a = L[1][2] ?

Réponses :

A- nombre entier

B- liste

C- nombre flottant

D- chaîne de caractères


Q26 - n définit la liste L ainsi : L = [ [1], [1,2], [1,2,3] ]

Des égalités suivantes, une seule est fausse. Laquelle ?

Réponses :

A- len(L[0]) == 1

B- len(L) == 6

C- len(L[2]) == 3

D- L[2][2] == 3


Q27 - On définit L = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]].

Quelle est la valeur de L[0][2] ?

Réponses :

A- 2

B- 3

C- 11

D- 12


Q28 - On considère deux entiers strictement positifs L et C. On note n = L*C leur produit et on écrit la fonction suivante, qui construit un tableau de L lignes et C colonnes, contenant les entiers consécutifs de 0 à n-1 :


def construitTable(L,C):
  t = []
  for i in range(L):
    ligne = []
    for j in range(C):
      ......
    t.append(ligne)
  return t
		

Par exemple, l'appel construitTable(2,3) doit renvoyer la table : [[0, 1, 2],[3, 4, 5]]

Que faut-il écrire à la place des points de suspension pour obtenir ce résultat ?

Réponses :

A- ligne.append(i + C*j)

B- ligne.append(L*i + j)

C- ligne.append(i + L*j)

D- ligne.append(C*i + j)


Q29 - La fonction ci-dessous prend en argument deux nombres entiers.


def f(n1,n2):
  etendue = max(n1,n2)-min(n1,n2)
  moyenne = (n1+n2)/2
  return etendue,moyenne
		

Quel est le type de la valeur renvoyée par un appel à cette fonction ?

Réponses :

A- un entier

B- un réel (ou flottant)

C- un tuple

D- une liste


Q30 - Si on tape dans la console d'exécution la commande :

[1,4,3] + [2,4,5]

qu'obtient-on ?

Réponses :

A- [3, 8, 8]

B- [19]

C- [1, 4, 3, 2, 4, 5]

D- un message d'erreur car l'addition n'est pas compatible avec les listes


Q31 - Quelle est la valeur de l'expression [(a,b) for a in range(3) for b in range(3) if a > b] ?

Réponses :

A- [(a,b),(a,b),(a,b),(a,b),(a,b),(a,b),(a,b),(a,b),(a,b)]

B- [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

C- [(1,0),(2,0),(2,1)] 

D- [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(1,0),(1,1),(1,2)]


Q32 - Quelle est la valeur de l'expression [[i for i in range(5)] for j in range(3)] ?

Réponses :

A- [[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]

B- [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

C- [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] 

D- [[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]


Q33 - On définit une grille G remplie de 0, sous la forme d'une liste de listes, où toutes les sous-listes ont le même nombre d'éléments.


G =[[0, 0, 0, …, 0],
    [0, 0, 0, …, 0],
    [0, 0, 0, …, 0]
     ….
    [0, 0, 0, …, 0]]
		

On appelle hauteur de la grille le nombre de sous-listes contenues dans G et largeur de la grille le nombre d'éléments dans chacune de ces sous-listes. Comment peut-on les obtenir ?

Réponses :

A- hauteur = len(G[0])

largeur = len(G)

B- hauteur = len(G)

largeur = len(G[0])

C- hauteur = len(G[0])

largeur = len(G[1])

D- hauteur = len(G[1])

largeur = len(G[0])


Q34 - Laquelle des expressions suivantes a-t-elle pour valeur la liste des carrés des premiers entiers qui ne sont pas multiples de 5 ?

Réponses :

A- [x*x for x in range (11) if x//5 != 0]

B- [x*x if x%5 != 0 for x in range (11)]

C- [x*x if x//5 != 0 for x in range (11)]

D- [x*x for x in range (11) if x%5 != 0]


Q35 - On définit :


tab = [	('Léa', 14), ('Guillaume', 12), ('Anthony', 16), ('Anne', 15) ]
		

Quelle est la valeur de l'expression [x[0] for x in tab if x[1]>=15] ?

Réponses :

A- [('Anthony', 16), ('Anne', 15)]

B- ['Anthony', 'Anne']

C- [16, 15]

D- TypeError : 'tuple' object is not callable


Q36 - On définit : matrice = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]].

Quelle est la valeur de matrice[1][2] ?

Réponses :

A- 2

B- 4

C- 6

D- 8


Q37 - On crée la liste suivante :


t = [ [1,2,3,4], [5,6,7,8], [9,10,11,12] ]
		

Que vaut t[1][2] :

Réponses :

A- 2

B- 7

C- 10

D- on obtient un message d'erreur "indexError : list index out of range"


Q38 - Le premier élément d'une liste Python L est noté :

Réponses :

A- L(0)

B- L(1)

C- L[0] 

D- L[1]


Q39 - Quelle expression Python a pour valeur la liste [1,3,5,7,9,11] ?

Réponses :

A- [2*i - 1 for i in range(6)]

B- [2*i + 1 for i in range(6)]

C- [2*i + 1 for i in range(5)]

D- [2*i - 1 for i in range(7)]


Q40 - Après avoir défini m = [[1, 2, 3], [4, 5, 6]] 

laquelle des quatre expressions suivantes a la valeur 4 ?

Réponses :

A- m[0][1]

B- m[1][0]

C- m(0,1)

D- m(1,0)


Q41 - On définit tableau = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]. Quelle est la valeur de tableau[2][1] ?

Réponses :

A- 2

B- 4

C- 6

D- 8


Q42 - On s'intéresse à la valeur 14 présente dans la liste suivante:


T = [[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20]].
		

Quelle expression vaut 14 parmi les suivantes ?

Réponses :

A- T[2][3]

B- T[3][4]

C- T[3][2] 

D- T[4][3]


Q43 - On définit : t = [2, 8, 9, 2]

Quelle est la valeur de l'expression [ x*x for x in t ] ?

Réponses :

A- une erreur

B- [[2, 8, 9, 2], [2, 8, 9, 2]]

C- [2, 8, 8, 9, 9, 9, 2, 2, 2, 2] 

D- [4, 64, 81, 4]


Q44 - De quelle expression la liste suivante est-elle la valeur ?


[[0,0,0,0], [1,1,1,1], [2,2,2,2]]
		

Réponses :

A- [[i] * 4 for i in range(4)]

B- [[i] * 3 for i in range(4)]

C- [[i] * 4 for i in range(3)]

D- [[i] * 3 for i in range(3)]


Q45 - On définit :


notes = [('Toto', 20), ('John', 12), ('Johnny', 2), ('Superman', 16)]
		

Quelle est l'expression donnant la note de Superman ?

Réponses :

A- notes[4][2]

B- notes[3][1]

C- notes[Superman] 

D- notes['Superman']


Q46 - Quelle est la valeur de l'expression [[n,n+2] for n in range(3)] ?

Réponses :

A- [0,2,1,3,2,4]

B- [1,3,2,4,3,5]

C- [[0,2],[1,3],[2,4]] 

D- [[1,3],[2,4],[3,5]]


Q47 - On construit une matrice par compréhension :


M = [ [i*j for j in range(4)] for i in range(4) ]
		

Laquelle des conditions suivantes est-elle vérifiée ?

Réponses :

A- M[4][4] == 16

B- M[0][1] == 1

C- M[2][3] == 6

D- M[1][2] == 3


Q48 - Quelle est l'expression qui a pour valeur la liste [1,4,9,16,25,36] ?

Réponses :

A- { n*n for n in range(1,7) }

B- { n*n for n in range(6) }

C- [ n*n for n in range(1,7) ]

D- [ n*n for n in range(6) ]


Q49 - On dispose d'une table tab constituée d'une liste de trois sous-listes contenant chacune quatre caractères.


tab=[['A', 'B', 'C', 'D'],
     ['E', 'F', 'G', 'H'],
     ['I', 'J', 'K', 'L'] ]
		

Parmi les propositions suivantes, laquelle permet de convertir cette table en une liste L contenant dans l'ordre, ligne par ligne, les 12 caractères de tab ?


# à la fin, on a l'égalité :
L == [  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L' ]
		

Réponses :

A-


L = []
for i in range(3):
  for j in range(4):
    L.append(tab[i][j])
		

B-


L = []
for i in range(4):
  for j in range(3):
    L.append(tab[i][j])
		

C-


L = []
for i in range(3):
  L.append(tab[i])
		

D-


L = []
for i in range(4):
  L.append(tab[i])
		

Q50 - On dispose d'une liste définie par L = [[1,2,3],[4,5,6],[7,8,9]].

Quelle est la valeur de L[1][2] ?

Réponses :

A- 2

B- 4

C- 6

D- 8


Q51 - Quelle est la valeur de l'expression [[i,2*i] for i in range(3)] ?

Réponses :

A- [0,0,1,2,2,4]

B- [[0,0],[1,2],[2,4]]

C- [1,2,2,4,3,6]

D- [[1,2],[2,4],[3,6]]


Q52 - Voici une définition incomplète d'une fonction qui renvoie le couple du quotient et du reste de la division euclidienne :


def divEuclid(n,d):
  '''renvoie le couple formé du quotient et du reste dans la division de n par d'''
  q = 0
  while n-d > 0:
    q = q + 1
    n = n - d
  .......
		

Par quelle instruction faut-il remplacer la ligne en pointillés pour que l'appel


(quotient,reste) = divEuclid(15,6)
		

affecte les valeurs attendues ?

Réponses :

A- (q,n)

B- (quotient,reste)

C- return (q,n)

D- return (quotient,reste)


Q53 - On considère le tableau suivant : L = [[1,2,3],[4,5,6],[7,8,9]].

Quelle est la valeur de L[1][0] ?

Réponses :

A- 1

B- 2

C- 4

D- 7


Q54 - Quelle est la valeur de l'expression [(i,i+1) for i in range(2)] ?

Réponses :

A- [0,1,1,2]

B- [(1,2),(2,3)]

C- [(0,1),(1,2)]

D- [[0,1],[1,2]]


Q55 - Soit le code ci-dessous :


tableau = [5,8,6,9]
a = tableau[2]
		

Après son exécution, quelle valeur contient la variable a ?

Réponses :

A- 2

B- 6

C- 8

D- [5, 8]


Q56 - On définit la variable suivante : citation = "Les nombres gouvernent le monde". Quelle est la valeur de l'expression citation[5:10] ?

Réponses :

A- "ombre"

B- "ombres"

C- "nombre"

D- "nombres"


Q57 - Quelle expression a pour valeur la liste [7,14,21,28,35,42,49,56,63] ?

Réponses :

A- [7*k for k in range(9)]

B- [7*k for k in range(1,10)]

C- [7*k for k in range(10)]

D- [[7*k for k in range(1,9)]


Q58 - Quelle est la valeur de l'expression [[0] * 3 for i in range(2)] ?

Réponses :

A- [[0,0], [0,0], [0,0]]

B- [[0,0,0], [0,0,0]]

C- [[0.000], [0.000]]

D- [[0.00], [0.00], [0.00]]


Q59 - Quelle est la valeur de la variable S à la fin de l'exécution du script suivant ?


res =  [ [1,2,3], [4,5,6], [7,8,9] ]
S = 0
for i in range(3):
  S = S + res[i][2]
		

Réponses :

A- 12

B- 15

C- 18

D- 24


Q60 - On représente un plateau de jeu d'échec par une liste de listes dans laquelle on place des 1 pour représenter une case où se trouve une tour et des 0 pour représenter les cases vides.

Par exemple le code


echiquier = [ [ 0 for i in range(8) ] for j in range(8) ]
echiquier[2][0] = 1
echiquier[3][1] = 1
		

représente la situation de la figure ci-dessous.

Deux tours sont en prise si elles se trouvent sur une même ligne ou sur une même colonne.

Parmi les codes suivants, lequel permet de vérifier que la tour placée en ligne i et en colonne  j n'est en prise avec aucune tour placée dans les colonnes à sa gauche ?

Réponses :

A-


def ok(echiquier,i,j):
  for col in range(i):
    if echiquier[i][col] == 1:
      return False
    return True
		

B-


def ok(echiquier,i,j):
  for lig in range(i):
    if echiquier[lig][j] == 1:
      return False
    return True
		

C-


def ok(echiquier,i,j):
  for col in range(j):
    if echiquier[i][col] == 1:
      return False
    return True
		

D-


def ok(echiquier,i,j):
  for lig in range(j):
    if echiquier[lig][j] == 1:
      return False
    return True
		

Q61 - On dispose d'une liste L :


L = [6, 2, 8, 24, 3, 6, 7, 8]
		

Quelle est la valeur de M après exécution du code suivant ?


p = 8
M = [x for x in L if x<p] + [x for x in L if x==p] + [x for x in L if x>p]
		

Réponses :

A- [2,3,6,6,7,8,8,24]

B- [6,2,3,6,7,8,8,24]

C- [6,2,8,24,3,6,7,8]

D- [[6,2,3,6,7],[8,8],[24]]


Q62 - On définit en Python la fonction suivante :


def f(L):
  U = []
  for i in L:
    U.append(i**2 - 1)
  return U
		

Que vaut f([-1, 0, 1, 2]) ?

Réponses :

A- [0, 0, 1, 3]

B- [-1, 0, 0, 3]

C- [0, -1, 0, 3]

D- [-3, -1, 1, 3]


Q63 - On définit L = [2,3,5,7,-4].

En demandant la valeur de L[5], qu'obtient-on ?

Réponses :

A- -4

B- 2

C- 3

D- une erreur


Q64 - Considérons le tableau suivant :


tableau = [[1,2],[3,4],[5,6]]
		

Quelle est la valeur de l'expression tableau[2][1] ?

Réponses :

A- 3

B- 6

C- [3,4],[1,2]

D- [5,6],[2,4]


Q65 - Laquelle des quatre expressions suivantes a-t-elle pour valeur la liste [1, 2, 5, 10] ?

Réponses :

A- [i for i in range(4) if i<2]

B- [i for i in range(4)]

C- [i*i + 1 for i in range(4)]

D- [i*i - 2*i + 2 for i in range(4)]


Q66 - Considérons le tableau suivant :


tableau = [ [i+2*j for j in range(4)] for i in range(4)]
		

Quelle est la valeur de l'expression tableau[1] ?

Réponses :

A- [0,1,2,3]

B- [1,2,3,4]

C- [0,2,4,6]

D- [1,3,5,7]


Q67 - On définit ainsi le tableau t = [[1,5,7], [8,4,2], [3,9,6]]

Quel jeu d'indices permet d'obtenir l'élément "9" de ce tableau ?

Réponses :

A- t[3][2]

B- t[2][3]

C- t[1][2]

D- t[2][1]


Q68 - On définit une liste : L = [1, 1, 2, 9, 3, 4, 5, 6, 7].

Quelle expression a-t-elle pour valeur la liste [4, 16, 36] ?

ATTENTION : pas de réponse correcte

Réponses :

A- [(x * x) % 2 == 0 for x in liste]

B- [x for x in liste if x % 2 == 0]

C- [x * x for x in liste]

D- [x * x for x in liste if x % 2 == 0]


Q69 - Parmi les propositions suivantes, laquelle permet de créer en Python la liste des nombres impairs de 1 à 399 (inclus) ?

Réponses :

A-


impairs = [1 + nb*2 for nb in range(200)]
		

B-


for nb in range(400) :
  impairs = 1 + 2 * nb
		

C-


impairs = [i + 2 for i in range(1,200)]
		

D-


impairs = [1, 3, 5, 7, 9] * 40
		

Q70 - On considère le code suivant :


def f(L):
  return [x*x for x in L if x%2 == 1]

carre = f([0,1,2,3,4,5,6,7,8,9])
		

Que vaut carre à la fin de son exécution ?

Réponses :

A- [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

B- [0, 4, 16, 36, 64]

C- [1, 9, 25, 49, 81] 

D- [0, 2, 4, 6, 8, 10, 12, 14, 16, 19]


Q71 - L'opérateur % calcule le reste de la division euclidienne de l'opérande de gauche par l'opérande de droite. Par exemple : 7 % 3 vaut 1, 15 % 5 vaut 0 et 18 % 4 vaut 2.

On crée la liste suivante :


t = [ x for x in range(2,12) if x % 2 == 1 ]
		

Que vaut t :

Réponses :

A- [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]

B- [ 1, 2, 3, 4, 5 ]

C- [ 3, 5, 7, 9, 11 ] 

D- [ 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ]


Q72 - Quelle expression permet d'accéder à la valeur 'hello' après qu'on a défini


L = [['a','b','c'],['bonjour','hello']]
		

Réponses :

A- L[5]

B- L[1][1]

C- L[2][2] 

D- L['hello']


Q73 - t1 est un tableau à n lignes et n colonnes. On souhaite remplir un tableau t2 de mêmes dimensions que t1 avec les contraintes suivantes : les lignes de t2 sont les colonnes de t1 et les colonnes de t2 sont les lignes de t1.

Par quelle instruction faut-il remplacer la ligne en pointillées du code suivant ?


for i in range(n):
  for j in range(n):
    ......
		

Réponses :

A- t1[i][j] = t2[j][i]

B- t2[j][i] = t1[j][i]

C- t1[j][i] = t2[i][j]  

D- t2[i][j] = t1[j][i]


Q74 - Soit une liste définie de la manière suivante : liste = [18, 23, 45, 38, 12]

On exécute l’instruction liste.append(45), la liste a alors pour valeur :

Réponses :

A- [18, 23, 38, 12, 45]

B- [18, 23, 38, 12]

C- [45, 18, 23, 45, 38, 12]  

D- [18, 23, 45, 38, 12, 45]


Q75 - On dispose d'une liste L constituée de 12 caractères.


L = [  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L' ]
		

Parmi les propositions suivantes, laquelle permet de convertir cette liste en une table tab constituée d'une liste de trois sous-listes contenant chacune quatre caractères contenant dans l'ordre, et contenant les 12 caractères de L dans l'ordre.


# à la fin, on a l'égalité :
tab == [['A', 'B', 'C', 'D'],
        ['E', 'F', 'G', 'H'],
        ['I', 'J', 'K', 'L'] ]
		

Réponses :

A-


tab = []
for i in range(4):
  temp = []
  for j in range(3):
    temp.append(L[4*i + j])
	tab.append(temp)
		

B-


tab = []
for i in range(4):
  temp = []
  for j in range(3):
    temp.append(L[3*i + j])
  tab.append(temp)
		

C-


tab = []
for i in range(3):
  temp = []
  for j in range(4):
    temp.append(L[3*i + j])
  tab.append(temp)
		

D-


tab = []
for i in range(3):
  temp = []
  for j in range(4):
    temp.append(L[4*i + j])
  tab.append(temp)
		

Q76 - On exécute l'instruction suivante :


T = [[12,13,14,15],
    [24,25,26,27],
    [35,36,49,33],
    [61,53,55,58]]
		

Quelle expression parmi les quatre suivantes a pour valeur 26 ?

Réponses :

A- T[1][2]

B- T[2][1]

C- T[2][3]  

D- T[3][2]


Q77 - Parmi les scripts suivants, un seul ne permet pas de générer le tableau [0,2,4,6,8,10,12,14,16,18] noté T.

Quel est ce script fautif ?

Réponses :

A-


T = []
for k in range(10):
  T.append(2*k)
		

B-


T = [0] * 10
for k in range(9):
  T[k+1] = 2*(k+1)
		

C-


T = [2*k for k in range(10)]
		

D-


T = [0] * 10
for k in range(0):
  T[k+1] = 2*T[k]
		

Q78 - On dispose d'une liste L d'entiers rangés en ordre croissant.

On désire connaître le nombre de valeurs distinctes contenues dans cette liste.

Parmi les quatre fonctions proposées, laquelle ne donne pas le résultat attendu ?

ATTENTION : pas de réponse correcte

Réponses :

A-


def nombreDistincts(L):
  n = 1
  for i in range(1,len(L)):
    if L[i] != L[i-1]:
      n = n + 1
  return n
		

B-


def nombreDistincts(L):
  n = 1
  for i in range(0,len(L)-1):
    if L[i] != L[i+1]:
      n = n + 1
  return n
		

C-


def nombreDistincts(L):
  n = 0
  for i in range(0,len(L)-1):
    if L[i] != L[i+1]:
      n = n + 1
  return n
		

D-


def nombreDistincts(L):
  n = 0
  for i in range(1,len(L)):
    if L[i] != L[i-1]:
      n = n + 1
  return n
		

Q79 - On définit ainsi une liste M :


M = [['A','B','C','D'], ['E','F','G','H'], ['I','J','K','L']]
		

Que vaut l'expression M[2][1] ?

Réponses :

A- 'G'

B- 'J'

C- 'E'  

D- 'B'


Q80 - Quelle est la valeur de l'expression [2**i for i in range(5)] ?

Réponses :

A- [0,1,4,9,16]

B- [1,4,9,16,25]

C- [0,2,4,6,8]  

D- [1,2,4,8,16]


Q81 - Quelle affectation permet de donner à L la valeur [1,9,25,49,81] ?

Réponses :

A- L = [i*2 for i in range(9) if i%2 == 0]

B- L = [i**2 for i in range(10) if i%2 == 0]

C- L = [i**2 for i in range(10) if i%2 == 1] 

D- L = [i**2 for i in range(10) if i//2 == 1]


Q82 - On définit : T = [7*n for n in range(10)].

Quelle est la valeur de l'expression T[7] ?

Réponses :

A- 42

B- 49

C- 56 

D- 70


Q83 - On définit en Python la fonction suivante :


def f(L):
  S = []
  for i in range(len(L)-1):
    S.append(L[i] + L[i+1])
  return S
		

Quelle est la liste renvoyée par f([1, 2, 3, 4, 5, 6]) ?

Réponses :

A- [3, 5, 7, 9, 11, 13]

B- [1, 3, 5, 7, 9, 11]

C- [3, 5, 7, 9, 11]

D- cet appel de fonction déclenche un message d'erreur


Q84 - On exécute le script suivant :


def quoi(liste):
  maListe = []
  for i in range(len(liste))
    maListe.append(liste[i][0])
  return maListe

L = [[5,8,12,1], [20,11,3,8], [3,12,1,4], [2,13,17,3]]
m = quoi(L)
		

Que contient la variable m à la fin de cette exécution ?

Réponses :

A- 26

B- 30

C- [5, 20, 3, 2]

D- [5, 8, 12, 1]


Q85 - On souhaite construire une table de 4 lignes de 3 éléments que l’on va remplir de 0. Quelle syntaxe Python utilisera-t-on ?

Réponses :

A- [ [ 0 ] * 3 for i in range (4) ]

B- for i in range (4) [ 0 ] * 3

C- [ 0 ] * 3 for i in range (4)

D- [ for i in range (4) [ 0 ] * 3 ]


Q86 - On considère la liste de p-uplets suivante :


Table = [('Grace','Hopper','F',1906),('Tim', 'Berners-Lee', 'H', 1955),('Ada', 'Lovelace', 'F', 1815), ('Alan', 'Turing', 'H', 1912)]
		

où chaque p-uplet représente un informaticien ou une informaticienne célèbre ; le premier élément est son prénom, le deuxième élément son nom, le troisième élément son sexe (‘H’ pour un homme, ‘F’ pour une femme) et le quatrième élément son année de naissance (un nombre entier entre 1000 et 2000).

On définit une fonction :


def fonctionMystere(table):
  mystere = []
  for ligne in table:
    if ligne[2] == 'F':
      mystere.append(ligne[1])
  return mystere
		

Que vaut fonctionMystere(table)?

Réponses :

A- [‘Grace’, ‘Ada’]

B- [('Grace', 'Hopper', 'F', 1906), ('Ada', 'Lovelace', 'F', 1815)]

C- [‘Hopper’, ’Lovelace’]

D- []


Q87 - Soit le tableau défini de la manière suivante : tableau = [[1,3,4],[2,7,8],[9,10,6],[12,11,5]]

On souhaite accéder à la valeur 12, on écrit pour cela :

Réponses :

A- tableau[4][1]

B- tableau[1][4]

C- tableau[3][0]

D- tableau[0][3]


Q88 - Quelle est la valeur de la variable table à la fin de l'exécution du script suivant :


table = [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
table [1][2] = 5
		

Réponses :

A- [[1, 5, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]

B- [[1, 2, 3], [5, 2, 3], [1, 2, 3], [1, 2, 3]]

C- [[1, 2, 3], [1, 2, 5], [1, 2, 3], [1, 2, 3]]

D- [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 5, 3]]


Q89 - On exécute le code suivant :


a = [5, 4, 3, 4, 7]
a.append(4)
		

Quelle est la valeur de la variable a à la fin de cette exécution ?

Réponses :

A- 2

B- [4, 4]

C- [5, 4, 3, 4, 7, 4]

D- True


Q90 - Quelle est la valeur de la variable image après exécution du programme Python suivant ?


image = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
for i in range(4):
  for j in range(4):
    if (i+j) == 3:
      image[i][j] = 1
		

Quelle est la valeur de la variable a à la fin de cette exécution ?

Réponses :

A- [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 1, 1, 1]]

B- [[0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1]]

C- [[0, 0, 0, 1], [0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0]]

D- [[0, 0, 0, 1], [0, 0, 1, 1], [0, 1, 1, 1], [1, 1, 1, 1]]


Q91 - Laquelle de ces listes de chaînes de caractères est triée en ordre croissant ?

Réponses :

A- ["112", "19", "27", "45", "8"]

B- ["8", "19", "27", "45", "112"]

C- ["8", "112", "19", "27", "45"]

D- ["19", "112", "27", "45", "8"]


Q92 - On a défini :


mendeleiev = [['H','.', '.','.','.','.','.','He'],
              ['Li','Be','B','C','N','O','Fl','Ne'],
              ['Na','Mg','Al','Si','P','S','Cl','Ar'],
								...... ]
		

Une erreur s'est glissée dans le tableau, car le symbole du Fluor est F et non Fl. Quelle instruction permet de rectifier ce tableau ?

Réponses :

A- mendeleiev.append('F')

B- mendeleiev[1][6] = 'F'

C- mendeleiev[6][1] = 'F'

D- mendeleiev[-1][-1] = 'F'


Q93 - On exécute le script suivant :


asso = []
L =  [	['marc','marie'], ['marie','jean'], ['paul','marie'], ['marie','marie'], ['marc','anne']   ]
for c in L :
  if c[1]==’marie’:
    asso.append(c[0])
		

Que vaut asso à la fin de l'exécution ?

Réponses :

A- ['marc', 'jean', 'paul']

B- [['marc','marie'], ['paul','marie'], ['marie','marie']]

C- ['marc', 'paul', 'marie']

D- ['marie', 'anne']


Q94 - On exécute le script suivant :


a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
		

Que contient la variable c à la fin de cette exécution ?

Réponses :

A- [5,7,9]

B- [1,4,2,5,3,6]

C- [1,2,3,4,5,6]

D- [1,2,3,5,7,9]


Q95 - On a défini :


mendeleiev = [['H','.', '.','.','.','.','.','He'],
              ['Li','Be','B','C','N','O','Fl','Ne'],
              ['Na','Mg','Al','Si','P','S','Cl','Ar'],
								...... ]
		

Comment construire la liste des gaz rares, c'est-à-dire la liste des éléments de la dernière colonne ?

Réponses :

A- gaz_rares = [ periode[7] for periode in mendeleiev]

B- gaz_rares = [ periode for periode in mendeleiev[7]]

C- gaz_rares = [ periode for periode[7] in mendeleiev]

D- gaz_rares = [ periode[8] for periode in mendeleiev]


Q96 - On a défini deux tables de données :


data1 = [(‘Bruce’, ’Wayne’), (‘Chuck’, ‘Norris’), (‘Bruce’, ‘Lee’), (‘Clark’, ‘Kent’)]
data2 = [(‘Diana’, ’Prince’), (‘Chuck’, ‘Norris’), (‘Peter’, ‘Parker’)]
		

Quelle instruction permet de construire une table data regroupant l'ensemble des informations de data1 et data2 ?

Réponses :

A- data = data1 + data2

B- data == data1 + data2

C- data = [element for element in data1 or data2]

D- data = [data1] + [data2]


Q97 - On déifnit la fonction suivante qui prend en argument un tableau non vide d'entiers.


def f(T):
  s = 0
  for k in T:
    if k == 8:
      s = s+1
  if s > 1:
    return True
  else:
    return False
		

Dans quel cas cette fonction renvoie-t-elle la valeur True ?

Réponses :

A- dans le cas où 8 est présent au moins une fois dans le tableau T

B- dans le cas où 8 est présent au moins deux fois dans le tableau T

C- dans le cas où 8 est présent exactement une fois dans le tableau T

D- dans le cas où 8 est présent exactement deux fois dans le tableau T


Q98 - Quelle est la valeur de l'expression [ 2*k + 1 for k in range(4) ] ?

Réponses :

A- [1,3,5,7]

B- [0,1,2,3]

C- [3,5,7,9]

D- [1,2,3,4]


Q99 - On exécute le code suivant :


collection = [('Renault', '4L', 1974, 30),
              ('Peugeot', '504', 1970, 82),
              ('Citroën', 'Traction', 1950, 77)]
		

Que vaut collection[1][2] ?

Réponses :

A- 1970

B- '4L'

C- ('Peugeot', '504', 1970, 82)

D- ('Renault', '4L', 1974, 30)


Q100 - On exécute le code suivant :


def maxi(t):
  m = t[0]
  for x in t:
    if x[1] >= m[1]:
      m = x
  return m

L = [('Alice', 17), ('Barnabé', 17),('Casimir', 17), ('Doriane', 17),('Emilien', 14), ('Fabienne', 16)]
		

Quelle est alors la valeur de maxi(L) ?

Réponses :

A- ('Alice',17)

B- ('Doriane',17)

C- ('Fabienne',17)

D- ('Emilien',14)


Q101 - Dans une course de chevaux, chaque participant est représenté par un numéro de dossard unique , son nom et sa ville sous la forme d'un couple formé d'un entier et d'une liste : (dossard, [nom, ville]).

Les données de quelques participants sont réunies au sein de la liste course ci-dessous :


course = [(5,['Mistral','Lille']), (3,['Zéphir','Paris']),(7,['Ouragan','Bordeaux']), ......, ....... ]
		

Quelle expression permet d'obtenir la ville du cheval nommé Zéphir ?

Réponses :

A- course[1][1][1]

B- course[1][1][2]

C- course[1][2][1]

D- course[2][1][1]


Q102 - Quelle est la valeur de la variable t1 à la fin de l'exécution du script suivant :


t1 = [['Valenciennes', 24],['Lille', 23],['Laon', 31],['Arras', 18]]
t2 = [['Lille', 62],['Arras', 53],['Valenciennes', 67],['Laon', 48]]

for i in range(len(t1)):
  for v in t2:
    if v[0] == t1[i][0]:
      t1[i].append(v[1])
		

Réponses :

A- [['Valenciennes', 67], ['Lille', 62], ['Laon', 48], ['Arras', 53]]

B- [['Valenciennes', 24, 67], ['Lille', 23, 62], ['Laon', 31, 48], ['Arras', 18, 53]]

C- [['Arras', 18, 53],['Laon', 31, 48], ['Lille', 23, 62], ['Valenciennes', 24, 67]]

D- [['Valenciennes', 67, 24], ['Lille', 62,23], ['Laon', 48, 31], ['Arras', 53, 18]]


Q103 - On écrit la fonction suivante :


def extreme(t, test):
  m = t[0]
  for x in t:
    if test(x,m):
      m = x
  return m
		

On dispose d'une liste L dont les éléments sont des couples (nom, note).

Par exemple :


L = [('Alice', 17), ('Barnabé', 18),('Casimir', 17), ('Doriane', 20),('Emilien', 15), ('Fabienne', 16)]
		

On aimerait que l'appel de fonction extreme(L, test) renvoie un couple présentant la note maximale.

Quelle définition de la fonction test peut-on utiliser ?

Réponses :

A-


def test(a,b):
  return a[0] < b[0]
		

B-


def test(a,b):
  return a[0] > b[0]
		

C-


def test(a,b):
  return a[1] < b[1]
		

D-


def test(a,b):
  return a[1] > b[1]
		

Q104 - Une table d’un fichier client contient le nom, le prénom et l’identifiant des clients sous la forme :


clients = [("Dupont", "Paul", 1),("Durand", "Jacques", 2),("Dutronc", "Jean", 3),...]
		

En supposant que plusieurs clients se prénomment Jean, que vaut la liste x après l’exécution du code suivant ?


x = []
for i in range(len(clients)):
  if clients[i][1] == "Jean":
    x = clients[i]
		

Réponses :

A- Une liste de tuples des noms, prénoms et numéros de tous les clients prénommés Jean

B- Une liste des numéros de tous les clients prénommés Jean

C- Un tuple avec le nom, prénom et numéro du premier client prénommé Jean

D- Un tuple avec le nom, prénom et numéro du dernier client prénommé Jean


Q105 - Quelle est la valeur de x après exécution du programme ci-dessous ?


t = [[3,4,5,1],[33,6,1,2]]
x = t[0][0]
for i in range(len(t)):
  for j in range(len(t[i])):
    if x < t[i][j]:
      x = t[i][j]
		

Réponses :

A- 3

B- 5

C- 6

D- 33


Q106 - Quelle est la valeur de la variable table après exécution du programme Python suivant ?


table = [12, 43, 6, 22, 37]
for i in range(len(table) - 1):
  if table[i] > table[i+1]:
    table[i],table[i+1] = table[i+1], table[i]
		

Réponses :

A- [6, 12, 22, 37, 43]

B- [12, 6, 22, 37, 43]

C- [43, 12, 22, 37, 6]

D- [43, 37, 22, 12, 6]


Q107 - Laquelle de ces expressions a pour valeur la liste [[0,1,2],[3,4,5],[6,7,8]] ?

Réponses :

A- [[i+j for i in range(3)] for j in range(3)]

B- [[i]*3 for i in range(3)]*3

C- [[i+j*3 for i in range(3)] for j in range(3)]

D- [[i+j for i in range(3)] for j in range(3)]*3


Q108 - Si la variable note est définie par  note = ["do","ré","mi","fa","sol","la","si"] alors :

Réponses :

A- l'index de "sol" est 5

B- l'index de note est 0

C- l'index de "si" est 7

D- l'index de "mi" est 2


Q109 - Un programme Python présente la ligne suivante


x = [ "x1", "x2", "x3" ]
		

Elle définit :

Réponses :

A- une liste de trois éléments

B- un tuple de trois éléments

C- une fonction acceptant trois paramètres

D- un dictionnaire associant la valeur x2 à la clé x1 d'indice x3