diff --git a/C3/C3.pdf b/C3/C3.pdf new file mode 100644 index 0000000..ea2186c Binary files /dev/null and b/C3/C3.pdf differ diff --git a/C3/C3.tex b/C3/C3.tex new file mode 100644 index 0000000..6372718 --- /dev/null +++ b/C3/C3.tex @@ -0,0 +1,665 @@ +% Questions générées automatiquement + +\element{C3}{ +\begin{question}{q1} + +On définit un dictionnaire : + +\inputminted[xleftmargin=20pt]{python}{codes/q1_1.py} + +Quelle est la valeur de l'expression d.keys() ? + + \begin{reponses} + \bonne{['couleur', 'taille', 'marque']} + \mauvaise{[('couleur', 'vert'), ('taille', 42), ('marque', 'le coq sportif')]} + \mauvaise{['vert', 42, 'le coq sportif']} + \mauvaise{['couleur': 'vert', 'taille': 42, 'marque': 'le coq sportif']} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q2} + +Comment peut-on accéder à la valeur associée à une clé dans un dictionnaire ? + + \begin{reponses} + \mauvaise{il faut parcourir le dictionnaire avec une boucle à la recherche de la clé} + \bonne{on peut y accéder directement à partir de la clé} + \mauvaise{on ne peut pas accéder à une valeur contenue dans un dictionnaire à partir d’une clé} + \mauvaise{il faut d’abord déchiffrer la clé pour accéder à un dictionnaire} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q3} + +On définit le dictionnaire d = \{'a': 1, 'b': 2, 'c': 3, 'z': 26\}. Quelle expression permet de récupérer la valeur de la clé 'z' ? + + \begin{multicols}{4} + \begin{reponses} + \mauvaise{d[4]} + \mauvaise{d[26]} + \mauvaise{d[z]} + \bonne{d['z']} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q4} + +Quel est le type de la variable billes définie par : billes = \{'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, 'orange': 17 \} + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{c'est une séquence} + \mauvaise{c'est une liste} + \mauvaise{c'est une liste de listes} + \bonne{c'est un dictionnaire} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q5} + +Considérons le dictionnaire suivant : resultats = \{'Paul':5 , 'Amina':1 , 'Léon' : 9 , 'Benoit':3\} + +Quelle affirmation est correcte ? + + \begin{reponses} + \bonne{resultats['Amina'] vaut 1} + \mauvaise{resultats[1] vaut 'Amina'} + \mauvaise{'Paul' est une valeur de ce dictionnaire} + \mauvaise{9 est une clé de ce dictionnaire} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q6} + +Après avoir défini : d = \{ 'tigre': 'félin', 'tortue': 'reptile', 'renard': 'canidé' \} + +laquelle des quatre expressions suivantes est correcte ? + + \begin{multicols}{2} + \begin{reponses} + \bonne{d['tortue']} + \mauvaise{d['reptile']} + \mauvaise{d['tortue': 'reptile']} + \mauvaise{d[1]} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q7} + +On exécute le script suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q7_2.py} + +Que contient la variable stock à la fin de cette exécution ? + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{\{430, 274, 137\}} + \mauvaise{312} + \bonne{841} + \mauvaise{\{ 'pommes', 'oranges', 'poires' \}} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q8} + +On définit ainsi une liste P : + +\inputminted[xleftmargin=20pt]{python}{codes/q8_3.py} + +Que fait alors l'instruction P[1]["âge"] = 25 ? + + \begin{reponses} + \bonne{elle modifie la valeur de la clé âge du deuxième élément de la liste P} + \mauvaise{elle modifie la valeur de la clé âge du premier élément de la liste P} + \mauvaise{elle donne la longueur de la liste P} + \mauvaise{elle donne la longueur du premier élément de la liste P} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q9} + +La variable sequence contient une liste de lettres, éventuellement répétées, choisies parmi 'A', 'B', 'C', 'D'. On veut créer un dictionnaire effectifs associant à chaque lettre le nombre de fois qu'elle apparaît dans la liste sequence. + +Par exemple si sequence contient ['A', 'B', 'B', 'D', 'B', 'A'], effectifs doit contenir \{'A':2, 'B':3, 'C':0, 'D':1\}. + +Parmi les scripts suivants, lequel réalise cet objectif ? + + \begin{reponses} + \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r9_a.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_b.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_c.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_d.py}} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q10} + +On a défini + +\inputminted[xleftmargin=20pt]{python}{codes/q10_8.py} + +Quelle est la valeur de l'expression dico['a'][1]? + + \begin{reponses} + \mauvaise{1} + \bonne{2} + \mauvaise{(1,2,3)} + \mauvaise{cette expression est incorrecte, l'évaluer déclenche une erreur} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q11} + +Quelle est la valeur affichée à l'exécution du programme Python suivant ? + +\inputminted[xleftmargin=20pt]{python}{codes/q11_9.py} + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{3} + \bonne{21} + \mauvaise{\{ 'ftp': 21 \}} + \mauvaise{Key not found} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q13} + +On définit ainsi une liste P : + +\inputminted[xleftmargin=20pt]{python}{codes/q13_10.py} + +Comment accéder à la chaîne de caractères "Alan" ? + + \begin{multicols}{4} + \begin{reponses} + \mauvaise{P[0]} + \mauvaise{P[1]} + \bonne{P[0]["prénom"]} + \mauvaise{P[1]["prénom"]} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q14} + +On exécute le script suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q14_11.py} + +Quelle est la valeur de la variable stock à la fin de cette exécution ? + + \begin{reponses} + \mauvaise{\{‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24\}} + \mauvaise{\{‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24\}} + \mauvaise{\{‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3\}} + \bonne{\{‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3\}} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q15} + +On considère le code suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q15_12.py} + +Que vaut D['a'] à la fin de son exécution ? + + \begin{multicols}{4} + \begin{reponses} + \bonne{'1'} + \mauvaise{2} + \mauvaise{[ '2', 'b' ]} + \mauvaise{[ '1', '3' ]} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q16} + +On a défini un dictionnaire : + +\inputminted[xleftmargin=20pt]{python}{codes/q16_13.py} + +Quelle instruction écrire pour ajouter à ce dictionnaire un nouveau contact nommé Juliette avec le numéro de téléphone 0603040506 ? + + \begin{reponses} + \mauvaise{'Juliette': '0603040506'} + \mauvaise{contacts.append('Juliette': '0603040506')} + \bonne{contacts['Juliette'] = '0603040506'} + \mauvaise{contacts.append('Juliette', '0603040506')} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q17} + +On considère le script suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q17_14.py} + +Par quoi faut-il remplacer XXXXXXX dans ce script pour qu'à la fin de son exécution la variable total contienne le nombre total de billes ? + + \begin{multicols}{4} + \begin{reponses} + \mauvaise{keys} + \bonne{values} + \mauvaise{items} + \mauvaise{numbers} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q18} + +On définit : + +\inputminted[xleftmargin=20pt]{python}{codes/q18_15.py} + +qui associe nom et âge de trois élèves. + +Comment accéder à l'âge de Kevin ? + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{dico[1]} + \mauvaise{dico[Kevin]} + \bonne{dico["Kevin"]} + \mauvaise{dico("Kevin")} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q19} + +On exécute le code suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q19_16.py} + +Quelle est la valeur de la variable L à l'issue de cette exécution ? + + \begin{multicols}{4} + \begin{reponses} + \mauvaise{[ 3, 6, 7 ]} + \mauvaise{[ 3, 6, 7, 4 ]} + \mauvaise{[ 5, 6, 7 ]} + \bonne{[ 5, 6, 7, 4 ]} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q20} + +Pour gérer certaines données EXIF de photographies, on a utilisé le code suivant pour stocker dans une liste L de dictionnaires quelques données : + +\inputminted[xleftmargin=20pt]{python}{codes/q20_17.py} + +On veut extraire de ces informations la liste Z des photographies obtenues avec un Canon ou un Nikon et une distance focale de 19 mm. + +Quelle instruction permet de réaliser cette extraction ? + + \begin{reponses} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_a.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_b.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_c.py}} + \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r20_d.py}} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q21} + +On définit : + +\inputminted[xleftmargin=20pt]{python}{codes/q21_22.py} + +Parmi les propositions suivantes, laquelle est exacte ? + + \begin{reponses} + \mauvaise{'Chloé' est une valeur de la variable contacts} + \bonne{'Chloé' est une clé de la variable contacts} + \mauvaise{'Chloé' est un attribut de la variable contacts} + \mauvaise{'Chloé' est un champ de la variable contacts} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q22} + +On considère la table suivants : + +\inputminted[xleftmargin=20pt]{python}{codes/q22_23.py} + +Quelle expression permet d'obtenir la quantié de scies ? + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{t[2]['quantité']} + \bonne{t[1]['quantité']} + \mauvaise{t['quantité'][1]} + \mauvaise{t['scies']['quantité']} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q23} + +On définit ainsi une liste t : + +\inputminted[xleftmargin=20pt]{python}{codes/q23_24.py} + +Quelle affirmation est correcte ? + + \begin{reponses} + \mauvaise{t est une liste de listes} + \bonne{t est une liste de dictionnaires} + \mauvaise{t est un dictionnaire de listes} + \mauvaise{t est une liste de tuples} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q24} + +On exécute le code suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q24_25.py} + +Que renvoie l'appel f(dict) ? + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{19} + \mauvaise{19,19} + \bonne{"charlotte"} + \mauvaise{"charlotte","noé"} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q25} + +On définit la variable suivante : lettres = \{"a": 1, "b": 2, "c": 3\}. + +Quelle est la valeur de l'expression list(lettres.keys()) ? + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{[a,b,c]} + \mauvaise{[1,2,3]} + \bonne{["a","b","c"]} + \mauvaise{\{"a": 1, "b": 2, "c": 3\}} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q26} + +On exécute le script suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q26_26.py} + +Quelle est la valeur de t à la fin de cette exécution ? + + \begin{reponses} + \mauvaise{Paul} + \bonne{["Paul", '"Jean", "Clara", "'Aïssa']} + \mauvaise{[12, 16, 14, 18]} + \mauvaise{[ "Paul": 12, "Jean": 16, "Clara": 14, "Aïssa": 18 ]} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q27} + +Par quelle expression remplacer les pointillés dans le programme Python suivant, pour que son exécution affiche le numéro de Dupond ? + +\inputminted[xleftmargin=20pt]{python}{codes/q27_27.py} + + \begin{reponses} + \mauvaise{nom == 'Dupond'} + \mauvaise{repertoire['nom'] == 'Dupond'} + \mauvaise{repertoire[i] == 'Dupond'} + \bonne{repertoire[i]['nom'] == 'Dupond'} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q28} + +On définit : + +\inputminted[xleftmargin=20pt]{python}{codes/q28_28.py} + +Quelle expression a-t-elle pour valeur le nombre de pommes ? + + \begin{multicols}{2} + \begin{reponses} + \bonne{T[2]['nombre']} + \mauvaise{T[2,'nombre']} + \mauvaise{T[3]['nombre']} + \mauvaise{T[3,'nombre']} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q29} + +Quelle expression Python permet d’accéder au numéro de téléphone de Tournesol, sachant que le répertoire a été défini par l’affectation suivante : + +\inputminted[xleftmargin=20pt]{python}{codes/q29_29.py} + + \begin{multicols}{2} + \begin{reponses} + \mauvaise{repertoire['Tournesol']} + \mauvaise{repertoire['tel'][1]} + \bonne{repertoire[1]['tel']} + \mauvaise{repertoire['Tournesol'][tel]} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q30} + +On définit ainsi une liste t puis une liste r : + +\inputminted[xleftmargin=20pt]{python}{codes/q30_30.py} + +Combien la liste r contient-elle d'éléments ? + + \begin{multicols}{4} + \begin{reponses} + \mauvaise{0} + \bonne{1} + \mauvaise{2} + \mauvaise{3} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q31} + +On définit ainsi une liste t : + +\inputminted[xleftmargin=20pt]{python}{codes/q31_31.py} + +Quelle expression vaut-elle 'RIO' parmi les suivantes ? + + \begin{multicols}{2} + \begin{reponses} + \bonne{t[4]['sejour']} + \mauvaise{t[5]['sejour']} + \mauvaise{t('id'=5)} + \mauvaise{t.['id'=5].['sejour']} + \end{reponses} + \end{multicols} +\end{question} +} + +\element{C3}{ +\begin{question}{q32} + +On considère des dictionnaires comme + +\inputminted[xleftmargin=20pt]{python}{codes/q32_32.py} + +pour retenir les notes d'un élève. + +On définit : + +\inputminted[xleftmargin=20pt]{python}{codes/q32_33.py} + +pour définir un ordre croissant sur ces dictionnaires. + +Ranger dans l'ordre croissant les dictionnaires suivants : + +\inputminted[xleftmargin=20pt]{python}{codes/q32_34.py} + \begin{multicols}{2} + + \begin{reponses} + \mauvaise{n1, n2, n3, n4, n5} + \mauvaise{n1, n4, n2, n4, n5} + \bonne{n1, n3, n2, n4, n5} + \mauvaise{n5, n4, n2, n3, n1} + \end{reponses} + \end{multicols} + +\end{question} +} + +\element{C3}{ +\begin{question}{q33} + +Par quoi faut-il remplacer les pointillés dans le script suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q33_35.py} + +pour qu'il affiche + +\inputminted[xleftmargin=20pt]{python}{codes/q33_36.py} + \begin{multicols}{2} + + \begin{reponses} + \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r33_a.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_b.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_c.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_d.py}} + \end{reponses} + \end{multicols} + +\end{question} +} + +\element{C3}{ +\begin{question}{q34} + +On définit : + +\inputminted[xleftmargin=20pt]{python}{codes/q34_41.py} + +Quelle expression permet d'obtenir la liste des noms des produits effectivement présents dans le stock (c'est-à-dire ceux dont la quantité n'est pas nulle) ? + + \begin{reponses} + \mauvaise{['nom' for p in stock if 'quantité' != 0]} + \mauvaise{[p for p in stock if p['quantité'] != 0]} + \mauvaise{[p['nom'] for p in stock if 'quantité' != 0]} + \bonne{[p['nom'] for p in stock if p['quantité'] != 0]} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q35} + +On considère le code suivant : + +\inputminted[xleftmargin=20pt]{python}{codes/q35_42.py} + +Que renvoie clearfield(fiche) ? + + \begin{reponses} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_a.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_b.py}} + \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_c.py}} + \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r35_d.py}} + \end{reponses} +\end{question} +} + +\element{C3}{ +\begin{question}{q36} + +On a défini + +\inputminted[xleftmargin=20pt]{python}{codes/q36_47.py} + +Quelle expression permet d'accéder au poste d'Éric ? + + \begin{multicols}{2} + \begin{reponses} + \bonne{repertoire[2]['poste']} + \mauvaise{repertoire['poste'][2]} + \mauvaise{repertoire['Éric']['poste']} + \mauvaise{repertoire['Éric']} + \end{reponses} + \end{multicols} +\end{question} +} diff --git a/C3/codes/q10_8.py b/C3/codes/q10_8.py new file mode 100644 index 0000000..f9c3cb9 --- /dev/null +++ b/C3/codes/q10_8.py @@ -0,0 +1 @@ +dico = { 'a': (1,2,3), 'b': (4,5,6) } \ No newline at end of file diff --git a/C3/codes/q11_9.py b/C3/codes/q11_9.py new file mode 100644 index 0000000..b29001d --- /dev/null +++ b/C3/codes/q11_9.py @@ -0,0 +1,3 @@ +ports = { 'http': 80, 'imap': 142, 'smtp': 25 } +ports['ftp'] = 21 +print(ports['ftp']) \ No newline at end of file diff --git a/C3/codes/q13_10.py b/C3/codes/q13_10.py new file mode 100644 index 0000000..c89777d --- /dev/null +++ b/C3/codes/q13_10.py @@ -0,0 +1,2 @@ +P = [ {"nom":"Turing","prénom":"Alan","âge":28},{"nom":"Love + lace","prénom":"Ada","âge":27} ] \ No newline at end of file diff --git a/C3/codes/q14_11.py b/C3/codes/q14_11.py new file mode 100644 index 0000000..5354c22 --- /dev/null +++ b/C3/codes/q14_11.py @@ -0,0 +1,10 @@ +def ajoute(stock,element,quantite): + if element in stock: + stock[element] = stock[element] + quantite + else: + stock[element] = quantite + +stock = { 'clous': 14, 'vis': 27, 'boulons': 8, + 'écrous': 24 } +ajoute(stock,'vis',5) +ajoute(stock,'chevilles',3) \ No newline at end of file diff --git a/C3/codes/q15_12.py b/C3/codes/q15_12.py new file mode 100644 index 0000000..fa3a0e0 --- /dev/null +++ b/C3/codes/q15_12.py @@ -0,0 +1 @@ +D = { 'a': '1', '2': 'a', 'b': 'a', 'c': '3'} \ No newline at end of file diff --git a/C3/codes/q16_13.py b/C3/codes/q16_13.py new file mode 100644 index 0000000..7917b61 --- /dev/null +++ b/C3/codes/q16_13.py @@ -0,0 +1,2 @@ +contacts = {'Paul': '0601010182', 'Jacques': '0602413824', + 'Claire': '0632451153'} \ No newline at end of file diff --git a/C3/codes/q17_14.py b/C3/codes/q17_14.py new file mode 100644 index 0000000..9e795da --- /dev/null +++ b/C3/codes/q17_14.py @@ -0,0 +1,5 @@ +billes = {'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, + 'orange': 17 } +total = 0 +for n in billes.XXXXXXX(): + total = total + n \ No newline at end of file diff --git a/C3/codes/q18_15.py b/C3/codes/q18_15.py new file mode 100644 index 0000000..159fcf4 --- /dev/null +++ b/C3/codes/q18_15.py @@ -0,0 +1 @@ +dico = {"Herve": 15, "Kevin":17, "Fatima":16} \ No newline at end of file diff --git a/C3/codes/q19_16.py b/C3/codes/q19_16.py new file mode 100644 index 0000000..e38221a --- /dev/null +++ b/C3/codes/q19_16.py @@ -0,0 +1,5 @@ +placard = { 'chemise': 3, 'pantalon': 6, 'tee shirt': 7 } +placard['chaussette'] = 4 +placard['chemise'] = 5 + +L = list(placard.values()) \ No newline at end of file diff --git a/C3/codes/q1_1.py b/C3/codes/q1_1.py new file mode 100644 index 0000000..995def7 --- /dev/null +++ b/C3/codes/q1_1.py @@ -0,0 +1,2 @@ +d = {'couleur': 'vert', 'taille': 42, + 'marque': 'le coq sportif'} \ No newline at end of file diff --git a/C3/codes/q20_17.py b/C3/codes/q20_17.py new file mode 100644 index 0000000..ac5b0ad --- /dev/null +++ b/C3/codes/q20_17.py @@ -0,0 +1,12 @@ +L = [] +L.append({'marque': 'Canon', 'modele': 'EOS 7D', + 'focale': '19mm', 'flash': False}) +L.append({'marque': 'Nikon', 'modele': 'CoolPix A1000', + 'focale': '19mm', 'flash': True}) +L.append({'marque': 'Sony', 'modele': 'HK 350', + 'focale': '24mm', 'flash': False}) +L.append({'marque': 'Sony', 'modele': 'HK 350', + 'focale': '19mm', 'flash': True}) +# …… +# et ainsi de suite, d'autres informations ont été ajoutées +# …… \ No newline at end of file diff --git a/C3/codes/q21_22.py b/C3/codes/q21_22.py new file mode 100644 index 0000000..6ec385c --- /dev/null +++ b/C3/codes/q21_22.py @@ -0,0 +1,3 @@ +contacts = {'Toto': 'toto@nsi.fr', + 'Chloé': 'chloe@nsi.com','Paul': 'paul@nsi.net', + 'Clémence': 'clemence@nsi.org' } \ No newline at end of file diff --git a/C3/codes/q22_23.py b/C3/codes/q22_23.py new file mode 100644 index 0000000..a6f6eca --- /dev/null +++ b/C3/codes/q22_23.py @@ -0,0 +1,4 @@ +t = [{'type': 'marteau', 'prix': 17, + 'quantité': 32},{'type': 'scie', 'prix': 24, + 'quantité': 3},{'type': 'tournevis', 'prix': 8, + 'quantité': 45}] \ No newline at end of file diff --git a/C3/codes/q23_24.py b/C3/codes/q23_24.py new file mode 100644 index 0000000..2cf79bc --- /dev/null +++ b/C3/codes/q23_24.py @@ -0,0 +1,5 @@ +t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, + 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, + 'sejour':'LONDRES'},{'id':4, 'age':41, + 'sejour':'ISTANBUL'},{'id':5, 'age':62, + 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}] \ No newline at end of file diff --git a/C3/codes/q24_25.py b/C3/codes/q24_25.py new file mode 100644 index 0000000..31a53ad --- /dev/null +++ b/C3/codes/q24_25.py @@ -0,0 +1,7 @@ +dict = {"alexandre" : 17, "mehdi" : 18,  "jeanne" : 16,"char + lotte" : 19, "celina" : 18, "noé" : 19} + +def f(dic): + for cle, valeur in dic.items() : + if valeur > 18: + return cle \ No newline at end of file diff --git a/C3/codes/q26_26.py b/C3/codes/q26_26.py new file mode 100644 index 0000000..601577f --- /dev/null +++ b/C3/codes/q26_26.py @@ -0,0 +1,2 @@ +notes = {"Paul": 12, "Jean": 16, "Clara": 14, "Aïssa": 18} +t = list(notes.keys()) \ No newline at end of file diff --git a/C3/codes/q27_27.py b/C3/codes/q27_27.py new file mode 100644 index 0000000..4c22ec3 --- /dev/null +++ b/C3/codes/q27_27.py @@ -0,0 +1,5 @@ +repertoire = [{'nom':'Dupont', 'tel':'5234'},{'nom':'Tournes + ol', 'tel':'5248'}, {'nom':'Dupond', 'tel':'3452'}] +for i in range(len(repertoire)): + if ...... : + print(repertoire[i]['tel']) \ No newline at end of file diff --git a/C3/codes/q28_28.py b/C3/codes/q28_28.py new file mode 100644 index 0000000..f192f10 --- /dev/null +++ b/C3/codes/q28_28.py @@ -0,0 +1,3 @@ +T = [{'fruit': 'banane', 'nombre': 25}, {'fruit': 'orange', + 'nombre': 124}, {'fruit': 'pomme', 'nombre': 75}, + {'fruit': 'kiwi', 'nombre': 51}] \ No newline at end of file diff --git a/C3/codes/q29_29.py b/C3/codes/q29_29.py new file mode 100644 index 0000000..f6fb3b6 --- /dev/null +++ b/C3/codes/q29_29.py @@ -0,0 +1,3 @@ +repertoire = [{'nom':'Dupont', 'tel':'5234'}, + {'nom':'Tournesol', 'tel':'5248'}, {'nom':'Dupond', + 'tel':'3452'}] \ No newline at end of file diff --git a/C3/codes/q30_30.py b/C3/codes/q30_30.py new file mode 100644 index 0000000..5a0ee0f --- /dev/null +++ b/C3/codes/q30_30.py @@ -0,0 +1,8 @@ +t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, + 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, + 'sejour':'LONDRES'},{'id':4, 'age':41, + 'sejour':'ISTANBUL'},{'id':5, 'age':62, + 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}] + +r = [ c for c in t if c['age']>30 and + c['sejour']=='ISTANBUL' ] \ No newline at end of file diff --git a/C3/codes/q31_31.py b/C3/codes/q31_31.py new file mode 100644 index 0000000..2cf79bc --- /dev/null +++ b/C3/codes/q31_31.py @@ -0,0 +1,5 @@ +t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, + 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, + 'sejour':'LONDRES'},{'id':4, 'age':41, + 'sejour':'ISTANBUL'},{'id':5, 'age':62, + 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}] \ No newline at end of file diff --git a/C3/codes/q32_32.py b/C3/codes/q32_32.py new file mode 100644 index 0000000..10b8cb3 --- /dev/null +++ b/C3/codes/q32_32.py @@ -0,0 +1,2 @@ +{ 'nom': 'Jérôme', 'NSI': 16.2, 'maths': 11.4, + 'physique': 13.0 } \ No newline at end of file diff --git a/C3/codes/q32_33.py b/C3/codes/q32_33.py new file mode 100644 index 0000000..d72dcea --- /dev/null +++ b/C3/codes/q32_33.py @@ -0,0 +1,12 @@ +def somme(notes): + return notes['NSI'] + notes['maths'] + notes['physique'] + +def plusPetit(n1, n2): + if n1['NSI'] < n2['NSI']: + return True + if n1['NSI'] == n2['NSI']: + if somme(n1) < somme(n2): + return True + elif somme(n1) == somme(n2) and n1['nom'] < n2['nom']: + return True + return False \ No newline at end of file diff --git a/C3/codes/q32_34.py b/C3/codes/q32_34.py new file mode 100644 index 0000000..5ead590 --- /dev/null +++ b/C3/codes/q32_34.py @@ -0,0 +1,10 @@ +n1 = { 'nom': "Albert", 'NSI': 12.3, 'maths': 14.0, + 'physique': 8.7 } +n2 = { 'nom': "Béatrice", 'NSI': 12.3, 'maths': 11.0, + 'physique': 12.5 } +n3 = { 'nom': "Colin", 'NSI': 12.3, 'maths': 7.0, + 'physique': 15.7 } +n4 = { 'nom': "Daniel", 'NSI': 13.4, 'maths': 9.0, + 'physique': 5.2 } +n5 = { 'nom': "Emilie", 'NSI': 16.1, 'maths': 5.3, + 'physique': 14.4 } \ No newline at end of file diff --git a/C3/codes/q33_35.py b/C3/codes/q33_35.py new file mode 100644 index 0000000..94b408b --- /dev/null +++ b/C3/codes/q33_35.py @@ -0,0 +1,10 @@ +relevé = [{'matière':'EPS','moyenne':11}, + {'matière':'Sciences','moyenne':6}, + {'matière':'LV1','moyenne':14}, + {'matière':'Histoire','moyenne':9}, + {'matière':'LV2','moyenne':15}] +a = ...... +b = ...... +for i in relevé : + if i[a] > 10: + print(i[b]) \ No newline at end of file diff --git a/C3/codes/q33_36.py b/C3/codes/q33_36.py new file mode 100644 index 0000000..ee70970 --- /dev/null +++ b/C3/codes/q33_36.py @@ -0,0 +1,3 @@ +EPS +LV1 +LV2 \ No newline at end of file diff --git a/C3/codes/q34_41.py b/C3/codes/q34_41.py new file mode 100644 index 0000000..bd086c6 --- /dev/null +++ b/C3/codes/q34_41.py @@ -0,0 +1,4 @@ +stock = [{'nom': 'flageolets', 'quantité': 50, + 'prix': 5.68},{'nom': 'caviar', 'quantité': 0, + 'prix': 99.99},.........,.........,{'nom': 'biscuits', + 'quantité': 100, 'prix': 7.71}] \ No newline at end of file diff --git a/C3/codes/q35_42.py b/C3/codes/q35_42.py new file mode 100644 index 0000000..ef6ec66 --- /dev/null +++ b/C3/codes/q35_42.py @@ -0,0 +1,8 @@ +def clearfield(f): + for i in range(len(f)): + fiche[i]['code'] = None + return f + +fiche = [{"nom": "pierre", "note": 5.99, + "code": 125},{"nom": "pol", "note": 2.99, + "code": 82},{"nom": "jack", "note": 7.99, "code": 135}] \ No newline at end of file diff --git a/C3/codes/q36_47.py b/C3/codes/q36_47.py new file mode 100644 index 0000000..c24721e --- /dev/null +++ b/C3/codes/q36_47.py @@ -0,0 +1,3 @@ +repertoire = [{'nom': 'Francette', + 'poste': 412},{'nom': 'Jeanne', + 'poste': 222},{'nom': 'Éric', 'poste': 231}] \ No newline at end of file diff --git a/C3/codes/q7_2.py b/C3/codes/q7_2.py new file mode 100644 index 0000000..8484c3b --- /dev/null +++ b/C3/codes/q7_2.py @@ -0,0 +1,7 @@ +inventaire = {'pommes': 430, 'bananes': 312,'oranges' : 274, + 'poires' : 137} + +stock = 0 +for fruit in inventaire.keys(): + if fruit != 'bananes': + stock = stock + inventaire[fruit] \ No newline at end of file diff --git a/C3/codes/q8_3.py b/C3/codes/q8_3.py new file mode 100644 index 0000000..0e0e247 --- /dev/null +++ b/C3/codes/q8_3.py @@ -0,0 +1,2 @@ +P = [{"nom":"Turing","prénom":"Alan","âge":28},{"nom":"Lovel + ace","prénom":"Ada","âge":27}] \ No newline at end of file diff --git a/C3/codes/r20_a.py b/C3/codes/r20_a.py new file mode 100644 index 0000000..3b79614 --- /dev/null +++ b/C3/codes/r20_a.py @@ -0,0 +1,3 @@ +Z = [ p for p in L if (p['marque'] == 'Canon' or + p['focale'] == '19mm') and (p['marque'] == 'Nikon' or p[ + 'focale'] == '19mm') ] \ No newline at end of file diff --git a/C3/codes/r20_b.py b/C3/codes/r20_b.py new file mode 100644 index 0000000..daab10e --- /dev/null +++ b/C3/codes/r20_b.py @@ -0,0 +1,3 @@ +Z = [ p for p in L if (p['marque'] == 'Canon' and + p['focale'] == '19mm') and (p['marque'] == 'Nikon' and p + ['focale'] == '19mm') ] \ No newline at end of file diff --git a/C3/codes/r20_c.py b/C3/codes/r20_c.py new file mode 100644 index 0000000..7eac040 --- /dev/null +++ b/C3/codes/r20_c.py @@ -0,0 +1,3 @@ +Z = [ p for p in L if (p['marque'] == 'Canon' or + p['focale'] == '19mm') or (p['marque'] == 'Nikon' or p[' + focale'] == '19mm') ] \ No newline at end of file diff --git a/C3/codes/r20_d.py b/C3/codes/r20_d.py new file mode 100644 index 0000000..68f80d7 --- /dev/null +++ b/C3/codes/r20_d.py @@ -0,0 +1,3 @@ +Z = [ p for p in L if (p['marque'] == 'Canon' and + p['focale'] == '19mm') or (p['marque'] == 'Nikon' and p[ + 'focale'] == '19mm') ] \ No newline at end of file diff --git a/C3/codes/r33_a.py b/C3/codes/r33_a.py new file mode 100644 index 0000000..83ae336 --- /dev/null +++ b/C3/codes/r33_a.py @@ -0,0 +1,2 @@ +a = 'moyenne' +b = 'matière' \ No newline at end of file diff --git a/C3/codes/r33_b.py b/C3/codes/r33_b.py new file mode 100644 index 0000000..4708e4f --- /dev/null +++ b/C3/codes/r33_b.py @@ -0,0 +1,2 @@ +a = 'matière +b = 'moyenne' \ No newline at end of file diff --git a/C3/codes/r33_c.py b/C3/codes/r33_c.py new file mode 100644 index 0000000..34a2886 --- /dev/null +++ b/C3/codes/r33_c.py @@ -0,0 +1,2 @@ +a = 0 +b = 1 \ No newline at end of file diff --git a/C3/codes/r33_d.py b/C3/codes/r33_d.py new file mode 100644 index 0000000..15ee9a1 --- /dev/null +++ b/C3/codes/r33_d.py @@ -0,0 +1,2 @@ +a = 1 +b = 0 \ No newline at end of file diff --git a/C3/codes/r35_a.py b/C3/codes/r35_a.py new file mode 100644 index 0000000..4b1d44c --- /dev/null +++ b/C3/codes/r35_a.py @@ -0,0 +1,3 @@ +[{"nom": "pierre", "note": 5.99, + "code": 125},{"nom": "pol", "note": 2.99, + "code": 82},{"nom": "jack", "note": 7.99, "code": 135}] \ No newline at end of file diff --git a/C3/codes/r35_b.py b/C3/codes/r35_b.py new file mode 100644 index 0000000..b5cc3ac --- /dev/null +++ b/C3/codes/r35_b.py @@ -0,0 +1,3 @@ +[{"nom": "pierre", "note": None, + "code": 125},{"nom": "pol", "note": None, + "code": 82},{"nom": "jack", "note": None, "code": 135}] \ No newline at end of file diff --git a/C3/codes/r35_c.py b/C3/codes/r35_c.py new file mode 100644 index 0000000..f745e92 --- /dev/null +++ b/C3/codes/r35_c.py @@ -0,0 +1,3 @@ +[{"nom": "pierre", "note": 5.99, + "None": 125},{"nom": "pol", "note": 2.99, + "None": 82},{"nom": "jack", "note": 7.99, "None": 135}] \ No newline at end of file diff --git a/C3/codes/r35_d.py b/C3/codes/r35_d.py new file mode 100644 index 0000000..f55fa2b --- /dev/null +++ b/C3/codes/r35_d.py @@ -0,0 +1,4 @@ +[{"nom": "pierre", "note": 5.99, + "code": None},{"nom": "pol", "note": 2.99, + "code": None},{"nom": "jack", "note": 7.99, + "code": None}] \ No newline at end of file diff --git a/C3/codes/r9_a.py b/C3/codes/r9_a.py new file mode 100644 index 0000000..98cdc41 --- /dev/null +++ b/C3/codes/r9_a.py @@ -0,0 +1,3 @@ +effectifs = {'A':0, 'B':0, 'C':0, 'D':0} +for lettre in sequence: + effectifs[lettre] = effectifs[lettre] + 1 \ No newline at end of file diff --git a/C3/codes/r9_b.py b/C3/codes/r9_b.py new file mode 100644 index 0000000..794aa69 --- /dev/null +++ b/C3/codes/r9_b.py @@ -0,0 +1,3 @@ +effectifs = {} +for lettre in sequence: + effectifs[lettre] = effectifs[lettre] + 1 \ No newline at end of file diff --git a/C3/codes/r9_c.py b/C3/codes/r9_c.py new file mode 100644 index 0000000..201fcea --- /dev/null +++ b/C3/codes/r9_c.py @@ -0,0 +1,3 @@ +effectifs = {'A':0, 'B':0, 'C':0, 'D':0} +for lettre in effectifs.keys(): + effectifs[lettre] = len([lettre in effectifs]) \ No newline at end of file diff --git a/C3/codes/r9_d.py b/C3/codes/r9_d.py new file mode 100644 index 0000000..9ec7fcd --- /dev/null +++ b/C3/codes/r9_d.py @@ -0,0 +1,3 @@ +effectifs = {} +for lettre in effectifs.keys(): + effectifs[lettre] = len([lettre in effectifs]) \ No newline at end of file