Adloun

sciences numériques et technologie (seconde) · Chapitre 3 · Exercice supplémentaire

L'évaluation paresseuse

Instructions conditionnelles · Construire une condition · niveau 3 (difficile)

Énoncé

Exécuter ces deux lignes et expliquer pourquoi la première ne provoque aucune erreur alors que la seconde en provoque une :

n = 0
print(n != 0 and 10 / n > 1)
print(10 / n > 1 and n != 0)

Pour démarrer : comment l'IA t'aide

Élève

Je vois deux lignes presque identiques, avec les mêmes morceaux dans un ordre différent. Je ne comprends pas pourquoi l'ordre changerait quelque chose.

IA

C'est justement la question. Avant de parler d'ordre, regarde chaque morceau : que vaut au moment où les lignes s'exécutent, et que se passe-t-il si on calcule ?

Élève

Au début , donc ne peut pas se calculer. Mais dans la première ligne, il y a avant, alors peut-être que ça évite le problème ?

IA

Tu tiens une piste intéressante. Pour la tester, demande-toi comment Python traite un : doit-il forcément évaluer les deux morceaux, ou peut-il s'arrêter dès que le premier suffit à décider ? Que conclurait-il si le premier morceau est faux ?

L'IA ne donne pas la réponse : elle pose la question qui fait avancer. Le corrigé de cet exercice n'est pas publié : à toi de continuer.

Continue cet exercice avec l'IA

Reprends l'exercice là où le dialogue s'arrête.

Continuer avec l'IA — gratuit, sans inscription

Gratuit, sans inscription. L'IA te guide pas à pas, sans te donner la réponse.

Le cours du chapitre · Tous les exercices du chapitre

Continuer avec l'IA, gratuit →