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.
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 1 → True
2%2 donne 0, car 2*1 (2) et reste 0 → False
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.