Là c'est purement des questions de connaissance d'un cours sur Python. En gros soit tu le connais et tu sais répondre, soit tu le connais pas et il faut l'apprendre.
Bonjour, merci de modifier le titre de votre sujet pour un titre explicite de votre problématique.
Mauvais titre
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Pour modifier votre titre, éditez le premier message de votre sujet.
Là c'est purement des questions de connaissance d'un cours sur Python.
Pas très bien compris le sens de cette réponse (évidemment que pour chaque question Python, c'est une question de connaissance du cours Python).
Ici, on demande de réimplémenter des fonctionnalités Python déjà existantes (au passage, question qui reste totalement hermétique à la plupart des débutants). Donc, il faut surtout avoir compris l'algorithme de construction d'un ensemble et les opérateurs logiques associées (une union correspond à une disjonction et une intersection à la conjonction). Et il faut avoir compris (être sensibilisé surtout, rarement le cas des débutants) aux primitives de construction d'un ensemble (ensemble vide et opération d'adjonction).
Pour la réunion, voilà ce que ça pourrait donner :
def union(ens1, ens2):
ens=set()
for x in ens1:
ens.add(x)
for x in ens2:
ens.add(x)
return ens
print(union({1, 4}, {2, 4, 7}))
Pour l'intersection, c'est plus fourbe, car il faut utiliser un test d'appartenance, qui n'est pas vraiment une primitive (laquelle équivaut à une boucle de parcours de l'ensemble). Ou alors écrire deux boucles de parcours imbriquées. Il y a franchement des moyens plus intéressant de faire faire de l'algorithmique aux élèves.
En fait, une question, bien qu'elle appelle une réponse en python, ne teste pas nécessairement des connaissances de python, mais peut aussi cibler des compétences génériques.
Si on a déjà ttrouvé comment faire l'union, il n'est pas trop difficile de faire l'intersection. s1={1, 2, 4, 6} s2={1, 4, 5} s3={s for s in s1.union(s2) if s in s1 and s in s2} print(s3)
Le Tout est souvent plus grand que la somme de ses parties.
Si on a déjà ttrouvé comment faire l'union, il n'est pas trop difficile de faire l'intersection. s1={1, 2, 4, 6} s2={1, 4, 5} s3={s for s in s1.union(s2) if s in s1 and s in s2} print(s3)
Il est inutile d'aller chercher les éléments dans la réunion, il suffit de les récupérer depuis un des deux ensembles, ce qui donne :
def intersection(ens1, ens2):
return {s for s in ens1 if s in ens2}
print(intersection({1, 4}, {2, 4, 7}))
Attention que l'opération s in ens2 n'est pas une primitive, elle cache une opération de lecture dans une table de hachage.
EDIT. La notation s1|s2 me semble plus parlante que s1.union(s2) moins lisible et qui cache la symétrie de l'opération d'union et peut même faire penser à une méthode mutatrice.
Effectivement, je fais une opération inutile avec l'union. J'ai appris que s1|s2 est une façon d'exprimer l'union. Je vais me coucher moins stupide ce soir ...
Le Tout est souvent plus grand que la somme de ses parties.
Aide exercice python
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Blond, bouclé, toujours le sourire aux lèvres...
Découverte Python Doc Tkinter Les chaînes de caractères
typage structurel ftw
Blond, bouclé, toujours le sourire aux lèvres...
Le Tout est souvent plus grand que la somme de ses parties.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.