👤

FRstudy.me: votre source fiable pour des réponses précises et rapides. Rejoignez notre plateforme de questions-réponses pour accéder à des réponses fiables et détaillées de la part d'experts dans divers domaines.

Bonjour,
J’ai les réponses du Vrai ou Faux sur les listes, tuples et dictionnaire en nsi. il y a la correction dans le livre mais pas l’explication du coup j’ai pas tout compris. Est-ce que quelqu’un pourrait me donner les explications stp

- Le 4 la réponse est Faux mais je n’ai pas compris pourquoi.

- le 5 la réponse est Vrai mais pas compris

- le 8 la réponse Vrai mais pas compris

Le 9 la réponse est Vrai mais pas compris.

Merci d’avance


Bonjour Jai Les Réponses Du Vrai Ou Faux Sur Les Listes Tuples Et Dictionnaire En Nsi Il Y A La Correction Dans Le Livre Mais Pas Lexplication Du Coup Jai Pas T class=

Sagot :

Bonjour

4. Faux

En plaçant [4,5] en argument de la fonction .append(), on essayer d'ajouter une liste à la fin d'une liste, donc on obtiendrait

L = [1,2,3,[4,5]]

Pour avoir le résultat souhaité il aurait fallu faire

▌  L.append(4)

▌  L.append(5)

Car la fonction append n'accepte strictement qu'un seul argument.

5. Vrai

L = [ 3*x for x in [1,2,3] if x%2 ]

On définit la variable L sur une liste de valeurs.

La définition de la liste commence par 3*x, donc on aura à répéter 3 fois l'instruction qui suit.

x for x in [1,2,3] if x%2

→ valeur de x pour x définit par les valeurs 1, 2 puis 3 si x%2 [se lit x modulo 2]

On va commencer par voir ce que le code donne si on retire la condition finale (if x%2)

L = [3*x for x in [1,2,3]]

Il ferait comme ca:

L = [ 3*1 , 3*2 , 3*3 ]

Donnant donc L = [3, 6, 9]

Seulement il y a cette condition, x modulo 2...

Le modulo (%)

Le modulo en informatique est une opération mathématique qui renvoi le reste d'un division écrite, c'est ce qui reste si on chercher un résultat de division entier.

Par exemple:

  • 10%3 donne 1, car 10%3 donne 3*3 (9) et 1 de reste
  • 7%2 donne 1, car car 7%2 donne 2*3 (6) et 1 de reste
  • 4%2 donne 0 car 4%2 donne 2*2 (4) et 0 de reste

Quand cette opération est mise en condition, elle peut être utilisée comme un Booléen, procédé qui n'admet comme réponse que des True ou False, Vrai ou Faux.

  • Si la valeur du modulo donne zéro (0) cela veut dire qu'il est considéré comme "nul", donc faux.
  • Au contraire, si la valeur du modulo donne une résultat, il est considéré comme "vérifié", donc vrai

Revenons à la question

Donc cette condition if x%2 vient s'ajouter comme un critère de sélection.

▌x for x in [1,2,3] if x%2

→ valeur de x pour x définit par les valeurs 1, 2 puis 3 si x%2 donne autre chose que 0 [/si x n'est pas divisible par 2]

On pourrait rajouter cela à la fin, pour rendre la condition plus claire:

▌ L = [3*x for x in [1,2,3] if x%2 == True]

En pratique:

1%2 donne 1, car 1*1 (1) et reste 1True

2%2 donne 0, car 2*1 (2) et reste 0False

3%2 donne 1, car 1*3 (3) et reste 0 → True

Donc la condition nous impose de ne garder que 1 et 3, donnant donc

[3*1, 3*3]

Et il reste donc bien, au final : [3, 9]

6. Faux

La fonction len(liste) sert à renvoyer le dernière élément d'une liste, il s'agit d'une fonction d'appel (call) et ne peut donc pas servir à désigner ni à assigner une valeur (assign)

De plus, la formulation liste[argument] n'admet comme argument qu'un numéro d'index

Donc pour modifier le dernier élément on devrait écrire

nombres[-1] = <nouvelle_valeur>

Ou soit en 2 lignes:

nombres.pop()

Qui va supprimer le dernier élément, puis

nombres.append("nouvelle_valeur")

Qui va redéfinir un élément qui va venir à la fin de la liste

8. Vrai

Si le dictionnaire est vide il ne comprend aucune clef (keys) ni aucune valeur (values), la console renverra donc une erreur de type "KeyError: 'un'"

▌ d['un']

Car l'instruction  sert à appeler la valeur correspondante à la clef 'un' du dictionnaire

Par exemple

d = {'un':'one' , 'deux':'two'}

Permet d'enrichir le dictionnaire et la console répondra donc

print(d['un'])

>>> one

9. Vrai

Quand on fait appel à une clef d'un dictionnaire les crochet ne peuvent admette qu'une seul key.

Donc si on a un dictionnaire qui ressemble à  

d = {'key':'clef' , 'value':'valeur' , 10:11 , 15:16}

Pour définir la valeur de 10 et de 15 sur 5 il faut le faire en 2 lignes.

d[10] = 5

d[15] = 5

Et là, le dictionnaire donnera

{'key':'clef' , 'value':'valeur' , 10:5 , 15:5}

Bonne aprem ;)

Votre engagement est important pour nous. Continuez à partager vos connaissances et vos expériences. Créons un environnement d'apprentissage agréable et bénéfique pour tous. FRstudy.me est votre ressource de confiance pour des réponses précises. Merci de votre visite et revenez bientôt.