Title: Niveau 2
Course: Le web (3)

Q: Quelle est la sortie du code suivant :

x = ['ab', 'cd']

for i in x:

   i.upper()

print(x)
- \( \left [ \right .\)’ab’, ’cd’ \( \left . \right ]\)
- \( \left [ \right . \)’AB’, ’CD’\( \left . \right ] \)
- aucune des autres propositions
- \( \left [ \right .\)None, None \( \left . \right ]\)
A: \( \left [ \right .\)’ab’, ’cd’ \( \left . \right ]\)
Feedback: la fonction upper() ne modifie pas la chaine de caractères, elle retourne une nouvelle chaine qui n’est stocké nulle part.

Q: Quelle est la sortie du code suivant :

x = 'abcdef'

i = 'a'

while i in x:

   x = x[:-1]

   print('i', end = ' ')
- a a a a a a
- aucune des autres propositions
- i i i i i i
- a a a a a
A: i i i i i i
Feedback: La chaine x est raccourcie d’un caractère à chaque itération.

Q: Quelle est la sortie du code suivant :

x = 'abcdef'

i = 'a'

while i in x[:-1]:

   print(i, end = ' ')
- a a a a a a ...
- a
- a a a a a a
- a a a a a
A: a a a a a a ...
Feedback: La chaine x n’est pas modifiée et i est dans x[:-1].

Q: Quelle est la sortie du code suivant :

x = 'abcdef'

i = 'a'

while i in x:

   x = x[1:]

   print(i, end = ' ')
- a
- erreur
- a a a a a
- pas de sortie
A: a
Feedback: La chaine x est raccourcie d’un caractère à chaque itération.

Q: Quelle est la sortie du code suivant :

x = 'abcdef'

i = 'a'

while i in x[1:]:

   print('i', end = ' ')
- pas de sortie
- erreur
- a a a a a a
- a
A: pas de sortie
Feedback: i n’est pas dans x[1:].

Q: Quelle est la sortie du code suivant :

x = 'abcd'

for i in x:

   print(i)

   x.upper()
- a b c d
- a B C D
- A B C D
- erreur
A: a b c d
Feedback: x.upper() ne modifie pas x. Une nouvelle chaine est créé à chaque fois.

Q: Quelle est la sortie du code suivant :

x = 'abcd'

for i in x:

   print(i.upper())
- A B C D
- a b c d
- a B C D
- erreur
A: A B C D
Feedback: L’instance de i.upper() est affichée.

Q: Quelle est la sortie du code suivant :

x = ['ab', 'cd']

for i in x:

   x.append(i.upper())

print(x)
- aucune des autres propositions
- \( \left [ \right . \) ’AB’, ’CD’ \( \left . \right ] \)
- \( \left [ \right . \) ’ab’, ’cd’, ’AB’, ’CD’ \( \left . \right ] \)
- \( \left [ \right . \) ’ab’, ’cd’ \( \left . \right ] \)
A: aucune des autres propositions
Feedback: La boucle est infinie car des nouveaux éléments sont rajoutés à chaque itération.

Q: Quelle est la sortie du code suivant :

x = 'abcd'

for i in range(len(x)):

   print(i.upper())
- erreur
- a b c d
- 1 2 3 4
- 0 1 2 3
A: erreur
Feedback: La méthode upper() ne s’applique pas à un entier.

Q: Quelle est la sortie du code suivant :

x = 'abcd'

for i in range(len(x)):

   x[i].upper()

print(x)
- abcd
- erreur
- ABCD
- aucune des autres propositions
A: abcd
Feedback: x[i].upper() ne modifie pas x. Une nouvelle chaine est créé à chaque fois.

Q: Quelle est la sortie du code suivant :

i = 1

while True:

   if i%3 == 0:

      break

   print(i)

   i + = 1
- erreur
- 1 2
- 1 2 3
- aucune des autres propositions
A: erreur
Feedback: SyntaxError, il ne doit pas y avoir d’espace entre le plus et le égal.

Q: Quelle est la sortie du code suivant :

x=2

for i in range(x) :

   x +=1

   print(x)
- 3 4
- 0 1
- 0 1 2 3 4 ...
- 0 1 2 3
A: 3 4
Feedback: La variable x est incrémentée et affichée 2 fois.

Q: Quelle est la sortie du code suivant :

x=2

for i in range(x) :

   x -=2

   print(x)
- 0 -2
- 0
- 0 1 2 3 4 ...
- erreur
A: 0 -2
Feedback: La variable x est décrémentée et affichée 2 fois.

Q: Quelle est la sortie du code suivant :

string = 'my name is x'

for i in string.split():

   print (i, end=', ')
- my, name, is, x,
- m, y, , n, a, m, e, , i, s, , x
- m, y, , n, a, m, e, , i, s, , x,
- erreur
A: my, name, is, x,
Feedback: La variable i prend la valeur d’un mot à chaque fois.

Q: Quelle est la sortie du code suivant :

a = [0, 1, 2, 3]

i = -2

for i not in a:

   print(i)

   i += 1
- erreur
- -2 -1
- 0
- aucune des autres propositions
A: erreur
Feedback: SyntaxError, not n’est pas autorisé dans les boucles for.

Q: Quelle est la sortie du code suivant :

i = 1

while True:

   if i%7 == 0:

      break

   print(i)

   i += 1
- 1 2 3 4 5 6
- 1 2 3 4 5 6 7
- erreur
- aucune des autres propositions
A: 1 2 3 4 5 6
Feedback: Le code sort de la boucle quand i vaut 7.

Q: Quelle est la sortie du code suivant :

i = 1

while True:

   if i%2 == 0:

      break

   print(i)

   i += 2
- 1 3 5 7 9 11 ...
- 1
- 1 2
- 1 2 3 4 5 6 ...
A: 1 3 5 7 9 11 ...
Feedback: La boucle est infinie car il n’y a jamais de nombre paire.

Q: Quelle est la sortie du code suivant :

i = 2

while True:

   if i%3 == 0:

      break

   print(i)

   i += 2
- 2 4
- 2 4 6 8 10 ...
- 2 3
- erreur
A: 2 4
Feedback: Les nombres 2 et 4 sont imprimés. La valeur suivante est 6 qui est divisible pas 3 par conséquent on sort de la boucle.

Q: Quelle est la sortie du code suivant :

i = 1

while False:

   if i%2 == 0:

      break

   print(i)

   i += 2
- aucune des autres propositions
- 1
- 1 3 5 7 ...
- 1 2 3 4 ...
A: aucune des autres propositions
Feedback: Le programme ne rentre pas dans la boucle puisque la condition est False.

Q: Quelle est la sortie du code suivant :

True = False

while True:

   print(True)

   break
- aucune des autres propositions
- True
- False
- None
A: aucune des autres propositions
Feedback: SyntaxError, True est un mot clé dont la valeur ne peut être modifiée.