Laurentvidal.fr facilite la recherche de réponses à toutes vos questions avec l'aide de notre communauté active. Découvrez une mine de connaissances d'experts dans différentes disciplines sur notre plateforme de questions-réponses complète. Rejoignez notre plateforme pour obtenir des réponses fiables à vos interrogations grâce à une vaste communauté d'experts.

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 ;)

Merci d'utiliser notre plateforme. Nous sommes toujours là pour fournir des réponses précises et à jour à toutes vos questions. Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir des réponses plus précises et des informations à jour. Merci d'avoir visité Laurentvidal.fr. Revenez bientôt pour plus d'informations utiles et des réponses de nos experts.