IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Devoir maison SPE NSI (1ère générale) - Dictionnaire recette / ingrédients


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2022
    Messages : 1
    Par défaut Devoir maison SPE NSI (1ère générale) - Dictionnaire recette / ingrédients
    Bonjour, pour vous expliquer la situation j'ai un devoir maison à rendre pour vendredi mais les dernières questions du DM je vous avoue que je ne comprends pas comment faire puisque le cours sur les dictionnaires, nous ne l'avons pas eu.

    Je vous mets le dictionnaire ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dessert={'gateau chocolat' :['chocolat','oeuf','farine','sucre','beurre'], 'gateau citron': ['citron','oeuf','farine','sucre','beurre' ], 'quatre-quarts': ['oeuf','farine','beurre','sucre'], 'kouign amann': ['farine','beurre','sucre'], 'crepes': ['oeuf','farine','lait','bière']}
    pour ce qui est des questions, les voici :

    • 1ère question : Écrire la fonction recette_avec (nom) qui prend en argument le nom d’un ingrédient et qui renvoie la liste des desserts qui utilisent cet ingrédient
    • 2ème question : Ecrire la fonction tous_ingredients qui renvoie la liste de tous les ingrédients apparaissant au moins une fois dans une recette de dessert.
    • 3ème question : Certaines personnes sont allergiques à certains ingrédients. On aimerait donc pouvoir ne conserver d’un livre de recettes que celles qui n’utilisent pas un ingrédient donné. Écrire la fonction recettes_sans qui prend en argument un ingrédient et qui renvoie un nouveau livre de recettes ( donc un dictionnaire) ne contenant que les recettes du ou des dessert(s) du dictionnaire Dessert ne contenant pas l’ingrédient donné en argument.


    Je comprends que cela risque de vous prendre du temps, en tout cas merci à vous si vous pouvez m'éclairer sur ces problèmes.

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par IceBlade Voir le message
    je vous avoues que je ne comprend pas comment faire puisque le cours sur les dictionnaires, nous ne l'avons pas eu.
    Bonjour,
    Je doute que ce soit le cas... ou bien c'est un oubli de la part de ton enseignant auquel cas mentionne lui .
    Pour le reste, nous ne ferons pas tes devoirs à ta place, nous pouvons éventuellement d'aiguillonner si tu nous présentes du code..

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Salut,

    Citation Envoyé par IceBlade Voir le message
    je vous avoues que je ne comprend pas comment faire puisque le cours sur les dictionnaires, nous ne l'avons pas eu.
    Si vous ne savez pas ce que sont les dictionnaires vous ne pourrez pas faire grand chose. La solution sera d'apprendre un peu pour voir à quoi çà ressemble et ouvrir un tuto. à la table des matières pour trouver le chapitre qui en parle.

    Côté Swinnen, c'est ici..

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Invité
    Invité(e)
    Par défaut
    'kouign amann': ['farine','beurre','sucre'], 'crepes': ['oeuf','farine','lait','bière']
    Vive la Bretagne libre !
    Merde me suis trompé de forum...

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 838
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par IceBlade Voir le message
    puisque le cours sur les dictionnaires, nous ne l'avons pas eu.
    Etonnant (enfin oui les erreurs sont toujours possibles même d'un prof). Mais puisque toute la classe est dans le même cas cela ne devrait pas te pénaliser. Et cela ne t'empêche pas de télécharger un tuto et le l'ouvrir au chapitre des dictionnaires ce qui montrerait ton brillant esprit d'initiative toujours prêt à relever de nouveaux défis.

    Enfin, deuxième chance : petit cours rapide

    Un dictionnaire c'est comme une liste ou un tuple, sauf que les indices pour accéder aux éléments ne sont pas des nombres successifs mais des valeurs de ton choix, qu'on nomme "clefs".
    Exemple: ddd={10 : "oeuf", 20 : "pain", 30 : "farine"}.
    Le dico "ddd" contient 3 valeurs, accessibles par les clefs 10, 20 et 30. Exemple ddd[20] donnera "pain".
    Les clefs peuvent être (presque*) n'importe quoi ex ddd["maison"]="chez moi" => la clef c'est "maison" (une string) et oui, on peut rajouter des clefs à la volée.
    Et le contenu associé à une clef (on appelles ça "valeur") peut là être vraiment n'importe quoi ex ddd["famille"]=["papa", "maman", "enfant"] => la valeur de ddd["famille"] c'est carrément une liste donc "enfant" ce sera ddd["famille"][2].
    Si je réécris tout ce dictionnaire dans la syntaxe de création, ce sera ddd={10 : "oeuf", 20 : "pain", 30 : "farine", "maison" : "chez-moi", "famille" : ["papa", "maman", "enfant"]} et là tu retrouves la syntaxe de ton énoncé.
    Et pour plus de lisibilité on peut faire ça sur plusieurs lignes
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ddd={
    	10 : "oeuf",
    	20 : "pain",
    	30 : "farine",
    	"maison" : "chez-moi",
    	"famille" : ["papa", "maman", "enfant"],
    }

    En dehors d'un accès direct via une clef connue, il y a des méthodes spécifiques.
    On peut récupérer toutes les clefs via la méthode keys() => for k in ddd.keys(): print(k, type(k)).
    On peut récupérer les valeurs via la méthode values() => for v in ddd.values(): print(v, type(v)).
    Et la méthode items() renvoie l'ensemble des tuples (clef, valeur) contenus dans le dictionnaire => for (k, v) in ddd.items(): print(k, v).

    De là tu peux faire ton exo.

    (*) en fait ça peut être n'importe quoi de non modifiable, donc une string, un nombre, un tuple mais pas une liste (une liste est modifiable) ni un dico (lui-aussi modifiable) ni un ensemble (lui-aussi modifiable) ni un objet (lui-aussi modifiable)

    Citation Envoyé par IceBlade Voir le message
    Je comprend que cela risque de vous prendre du temps
    A le faire, pas vraiment. A t'aider cela ne dépend que de toi.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    En spoiler, je met un code fait en 2 minutes. Mais si vous rendez ça, vous allez juste vous faire allumer, car cela utilise des concepts hautement plus avancés que ceux des simples dictionnaires... A vous de présenter une base si vous voulez qu'on vous aide depuis là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dessert={'gateau chocolat' :['chocolat','oeuf','farine','sucre','beurre'], 'gateau citron': ['citron','oeuf','farine','sucre','beurre' ], 'quatre-quarts': ['oeuf','farine','beurre','sucre'], 'kouign amann': ['farine','beurre','sucre'], 'crepes': ['oeuf','farine','lait','bière']}
     
    def recette_avec(i):
        return [ k for k,v in Dessert.items() if i in v]
     
    def tous_ingredients():
        return set( vi for v in Dessert.values() for vi in v )
     
    def recette_sans(i):
        return [ k for k,v in Dessert.items() if i not in v]
     
    print(recette_avec('beurre'))
    print(tous_ingredients())
    print(recette_sans('beurre'))

  7. #7
    Invité
    Invité(e)
    Par défaut
    Sinon y a toujours moyens de faire sans connaître le fonctionnement d'un dictionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    >>> Dessert={'gateau chocolat' :['chocolat','oeuf','farine','sucre','beurre'], 'gateau citron': ['citron','oeuf','farine','sucre','beurre' ], 'quatre-quarts': ['oeuf','farine','beurre','sucre'], 'kouign amann': ['farine','beurre','sucre'], 'crepes': ['oeuf','farine','lait','bière']}
     
    >>> def test(ing):
    	dessert = str(Dessert)
    	dessert = dessert[1:-1]
    	liste = dessert.split('],')
    	ing = "'"+ing+"'"
    	result = []
    	for x in liste:
    		if ing in x:
    			plat = x[:x.index(':')]
    			plat = plat.replace("'","")
    			plat = plat.lstrip()
    			result.append(plat)
    	return result
     
    >>> test('beurre')
    ['gateau chocolat', 'gateau citron', 'quatre-quarts', 'kouign amann']
     
    >>> test('chocolat')
    ['gateau chocolat']


    Pas taper trop fort !

  8. #8
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par lg_53 Voir le message
    En spoiler, je met un code fait en 2 minutes. Mais si vous rendez ça, vous allez juste vous faire allumer, car cela utilise des concepts hautement plus avancés que ceux des simples dictionnaires... A vous de présenter une base si vous voulez qu'on vous aide depuis là.
    Tu m'as appris quelque chose aujourd'hui...
    Je ne connaissais pas le verbe spoiler.
    Encore un mot à retourner maître Capello dans sa tombe... Mais puisque c'est un verbe, ne devrais-tu pas écrire Pour spoiler ou Afin de spoiler?
    Moi aussi je veux être in .

    @LeNarvalo:

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    On peut aussi spoiler lorsqu'on vient d'entendre une bonne blague.

    Mais je crois qu'il faut une apostrophe quelque part dans le mot.

    Sinon, il me semble que le mot "spoiler" définit davantage l'élément de carrosserie qu'on rajoute pour améliorer l'aérodynamisme (d'une voiture par exemple).


  10. #10
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Arioch Voir le message
    t.

    Sinon, il me semble que le mot "spoiler" définit davantage l'élément de carrosserie qu'on rajoute pour améliorer l'aérodynamisme (d'une voiture par exemple).

    Oui, ça peut être aussi un nom masculin.
    Pour le verbe, c'est plutôt amusant à conjuguer:
    je spoilai, tu spoilas, il spoila, nous spoilâmes, vous spoilâtes, ils spoilèrent

  11. #11
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Bonjour,

    Tu m'as appris quelque chose aujourd'hui...
    Je ne connaissais pas le verbe spoiler.
    Encore un mot à retourner maître Capello dans sa tombe... Mais puisque c'est un verbe, ne devrais-tu pas écrire Pour spoiler ou Afin de spoiler?
    Moi aussi je veux être in .

    @LeNarvalo:

    "Spoiler" est un verbe, qui provient de l'anglais (comme beaucoup de mot en vogue actuellement dans le monde numérique)
    - "to spoil" qui veut dire "gâcher"
    - "spoiler", qui en anglais est un nom, et qui ne se traduit pas simplement en francais, mais qui veut dire qqch ou qqn qui va révéler une information.

    Par exemple tu suis une série, t'es à la saison 3, et tu entends une conversion de gens qui parlent de la saison 5 et qui dit "ohlala, t'as vu dans l'épisode d'hier, que machin était mort ?". Eh bah voilà, là tu as été spoilé, ton plaisir de découvrir ce passage de la série ne sera plus, puisque tu sais ce qu'il va se passer. Les puéristes de la langue francaise traduise ce mot par "divulgacher".
    Ce mot se dérive aussi en un nom : le spoil. On peut dire "faire du spoil".

    Les gens se spoilant de plus en plus sur les forums notamment, les informaticiens ont alors développé (ou rendu plus accessible) la fonctionnalité du message caché (que l'on peut plier/déplier pour voir ce que cela contient), permettant ainsi à l'auteur du message de mettre en garde sur ce que contient le contenu caché. Les informaticiens codant tout en anglais, cette fonctionnalité s'est donc appelé assez naturellement "spoiler". Et donc en français, quand on écrit "spoiler" soit on parle du verbe, soit on parle d'un nom, qui est cette fonctionnalité informatique que personne je crois n'a encore osé francisé en "spoileur".

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Enfin, deuxième chance : petit cours rapide


    Avec ça il devrait pouvoir s'en sortir...

Discussions similaires

  1. [Python 3.X] Besoin d'aide pour un devoir
    Par Ndcun dans le forum Programmation multimédia/Jeux
    Réponses: 1
    Dernier message: 04/10/2019, 14h33
  2. [Débutant] Besoin d'aide pour ce devoir
    Par martial_mbang dans le forum C#
    Réponses: 2
    Dernier message: 09/11/2018, 11h32
  3. [Python 2.X] besoin d'aide pour un devoir maison
    Par Alexis.LeRoy dans le forum Général Python
    Réponses: 4
    Dernier message: 27/10/2018, 02h10
  4. Besoin d aide pour un devoir universitaire
    Par joe0703 dans le forum Langage
    Réponses: 4
    Dernier message: 07/04/2016, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo