Je réserve ici
Sciences numériques et technologie (SNT) 2ⁿᵈᵉ

Ressources · 2ⁿᵈᵉ · Sciences numériques et technologie (SNT)

Programmation en Python

Variables et affectations, types, conditions, boucles bornées et non bornées, fonctions (SNT de 2nde)

À propos de cette page
Ce QCM sur « Programmation en Python » en seconde teste tes connaissances en sciences numériques et technologie (SNT) de manière interactive. Les questions, classées par niveau (facile, moyen, difficile), respectent le programme officiel de seconde. Au programme : L'essentiel : variables, affectations, types, Opérations, conversions et saisie, Instructions conditionnelles, Boucles bornées et non bornées. À chaque réponse, une explication détaillée t'aide à comprendre tes erreurs et à mémoriser l'essentiel. Idéal pour s'auto-évaluer rapidement, réviser avant un contrôle ou consolider ses acquis. Quiz gratuit conçu par un professeur particulier à Marseille pour progresser en sciences numériques et technologie (SNT) en seconde.

Choisis ton niveau. Questions et réponses mélangées à chaque partie. Bonne chance !

Les 24 questions du QCM en version texte

Pour réviser sans écran ou imprimer : chaque question avec ses propositions ; la bonne réponse et son explication se déplient.

Niveau facile — 8 questions
  1. Quelle instruction affecte la valeur 12 à la variable n ?

    • A. n == 12
    • B. n = 12
    • C. 12 = n
    • D. int n = 12
    Réponse

    B. n = 12 — En Python, l'affectation s'écrit nom = valeur. == est une comparaison, 12 = n est une erreur et Python ne déclare pas le type.

  2. Quel est le type de la valeur 2.0 ?

    • A. int
    • B. str
    • C. bool
    • D. float
    Réponse

    D. float — Le point décimal fait de 2.0 un flottant, même si sa partie décimale est nulle.

  3. Que renvoie la fonction input() ?

    • A. Toujours une chaîne de caractères
    • B. Toujours un nombre entier
    • C. Un nombre flottant
    • D. Un type qui dépend de ce que l'on a tapé
    Réponse

    A. Toujours une chaîne de caractères — input renvoie toujours une chaîne (str), même si l'on tape un nombre : il faut la convertir avec int ou float.

  4. Combien de fois la boucle for i in range(6): s'exécute-t-elle ?

    • A. 5 fois
    • B. 7 fois
    • C. 6 fois
    • D. une infinité de fois
    Réponse

    C. 6 fois — range(6) donne 0, 1, 2, 3, 4, 5 : six valeurs, donc six tours.

  5. Quel mot-clé sert à définir une fonction ?

    • A. function
    • B. func
    • C. def
    • D. return
    Réponse

    C. def — Une fonction se définit par def nom(paramètres): ; return sert à renvoyer le résultat.

  6. Quel opérateur teste l'égalité de deux valeurs ?

    • A. ==
    • B. =
    • C. !=
    • D. ===
    Réponse

    A. == — == compare ; = affecte ; != teste la différence ; === n'existe pas en Python.

  7. Quelle instruction utiliser quand on ne connaît pas à l'avance le nombre de répétitions ?

    • A. Une boucle for avec range
    • B. Une instruction if
    • C. Une fonction sans return
    • D. Une boucle while
    Réponse

    D. Une boucle while — La boucle while (non bornée) répète tant qu'une condition est vraie, sans nombre de tours fixé.

  8. Que vaut 29 % 4 ?

    • A. 7
    • B. 1
    • C. 7.25
    • D. 29
    Réponse

    B. 1 — 29 = 4 × 7 + 1 : % donne le reste, ici 1 (7 est le quotient, 7.25 le résultat de 29 / 4).

Niveau moyen — 8 questions
  1. Après a = 6, b = a + 4, a = b - a, que vaut a ?

    • A. 6
    • B. 10
    • C. 4
    • D. -4
    Réponse

    C. 4 — b = 6 + 4 = 10, puis a = 10 − 6 = 4.

  2. Que vaut l'expression 'ok' * 2 ?

    • A. 'okok'
    • B. 'ok2'
    • C. une erreur de type
    • D. 'ok ok'
    Réponse

    A. 'okok' — Multiplier une chaîne par un entier la répète, sans espace : 'okok'.

  3. Quelles valeurs prend i dans for i in range(3, 12, 4): ?

    • A. 3, 7
    • B. 3, 7, 11, 15
    • C. 4, 8
    • D. 3, 7, 11
    Réponse

    D. 3, 7, 11 — On part de 3 et on avance de 4 en 4 tant qu'on reste strictement sous 12 : 3, 7, 11.

  4. Après s = 0 puis for k in range(4): s = s + k, que vaut s ?

    • A. 10
    • B. 6
    • C. 4
    • D. 3
    Réponse

    B. 6 — k prend les valeurs 0, 1, 2, 3 : s = 0 + 1 + 2 + 3 = 6 (et non 1 + 2 + 3 + 4 = 10).

  5. Avec x = 50, n = 0 puis while x > 8: (bloc : x = x // 2 et n = n + 1), que vaut n à la fin ?

    • A. 3
    • B. 4
    • C. 2
    • D. la boucle ne s'arrête pas
    Réponse

    A. 3 — x vaut 25, puis 12, puis 6 ; 6 > 8 est faux : 3 tours, donc n = 3.

  6. Avec def f(x): return 2 * x + 3, que vaut f(f(1)) ?

    • A. 5
    • B. 10
    • C. 13
    • D. une erreur d'appel
    Réponse

    C. 13 — f(1) = 2 × 1 + 3 = 5, puis f(5) = 2 × 5 + 3 = 13. On peut appeler une fonction sur le résultat d'une autre.

  7. Avec n = 7, qu'affiche : if n % 2 == 0: print('pair') else: print('impair') ?

    • A. pair
    • B. impair
    • C. 7
    • D. rien du tout
    Réponse

    B. impair — 7 % 2 vaut 1, donc la condition est fausse : c'est le bloc else qui s'exécute.

  8. Que vaut int('8') + int(2.9) ?

    • A. 11
    • B. 10.9
    • C. '82'
    • D. 10
    Réponse

    D. 10 — int('8') vaut 8 et int(2.9) vaut 2 (partie décimale supprimée, pas d'arrondi) : 8 + 2 = 10.

Niveau difficile — 8 questions
  1. Que vaut 0.1 + 0.2 == 0.3 en Python ?

    • A. True
    • B. 0.3
    • C. une erreur de type
    • D. False
    Réponse

    D. False — Les flottants sont stockés de façon approchée : 0.1 + 0.2 vaut 0.30000000000000004, différent de 0.3.

  2. Avec k = 10 puis while k != 0: k = k - 3, que se passe-t-il ?

    • A. La boucle tourne 3 fois puis s'arrête
    • B. La boucle ne s'arrête jamais
    • C. k vaut 0 à la fin
    • D. k vaut 1 à la fin
    Réponse

    B. La boucle ne s'arrête jamais — k vaut 10, 7, 4, 1, −2, −5… et ne passe jamais par 0 : la condition k != 0 reste vraie, la boucle est infinie.

  3. Avec def g(x): print(x * 2), que vaut y après y = g(4) ?

    • A. None
    • B. 8
    • C. '8'
    • D. une erreur à l'appel
    Réponse

    A. None — g affiche 8 mais ne renvoie rien : sans return, une fonction renvoie None, qui est affecté à y.

  4. Quelle condition traduit « x est compris entre 5 et 9, bornes incluses » ?

    • A. x >= 5 or 9 >= x
    • B. x > 5 and 9 > x
    • C. x >= 5 and 9 >= x
    • D. not (x >= 5 and 9 >= x)
    Réponse

    C. x >= 5 and 9 >= x — Les deux conditions doivent être vraies en même temps (and), avec des inégalités larges. Avec or, tout nombre conviendrait.

  5. Quelle est la dernière valeur prise par i dans for i in range(1, 10, 3): ?

    • A. 10
    • B. 7
    • C. 9
    • D. 8
    Réponse

    B. 7 — i prend 1, 4, 7 ; la valeur suivante, 10, n'est pas strictement inférieure à 10.

  6. Pourquoi écrit-on int(input()) pour additionner deux nombres saisis ?

    • A. Parce que input() ajoute un espace
    • B. Parce que + est interdit entre deux str
    • C. Parce que int() arrondit la saisie
    • D. Parce que input() renvoie une chaîne
    Réponse

    D. Parce que input() renvoie une chaîne — input renvoie une chaîne ; + entre deux chaînes est permis mais concatène ('3' + '4' donne '34').

  7. Après x = 5, x = x + 1, puis la ligne x == 7, que vaut x ?

    • A. 7
    • B. True
    • C. 6
    • D. False
    Réponse

    C. 6 — x == 7 est une comparaison (qui vaut False) : elle ne modifie pas x, qui vaut toujours 6.

  8. Laquelle de ces boucles s'exécute exactement 5 fois ?

    • A. for i in range(2, 7):
    • B. for i in range(5, 10, 2):
    • C. for i in range(1, 5):
    • D. for i in range(0, 5, 2):
    Réponse

    A. for i in range(2, 7): — range(2, 7) donne 2, 3, 4, 5, 6 : 5 valeurs. Les autres donnent 3, 4 et 3 valeurs.

Bloqué sur ce chapitre ?

Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.

Soutien scolaire à Marseille · Cours particuliers au lycée · Aide aux devoirs