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

Exercices Python Discussion :

demande d'explication pour un programme


Sujet :

Exercices Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 1
    Points
    1
    Par défaut demande d'explication pour un programme
    bonjour. j'essaie depuis quelques jours de creer un programme afin de gerer un alimentation. j'aimerais avoir de l'aide de votre part s'il vous pliat.
    voici ci joint le sujet et aussi le programme que j'ai essayé d'elaboré:

    Dans un supermarché un produit est caractérisé par son code à barre (un entier), son nom et son prix.
    Un caissier est caractérisé par son identifiant (un entier), son nom, l’ensemble des produits achetés par les clients et que le caissier a enregistrés.
    - Quels types de données sont appropriés pour représenter un produit et un caissier. Justifiez avec des exemples ;
    - Écrire une fonction saisirProduit qui permet à l’utilisateur de saisir le nom, le prix et le code à barre d’un produit et retourne ce produit;
    - Écrire une fonction saisirCaissier qui permet à l’utilisateur de saisir l’identifiant et le nom d’un caissier et retourne le caissier avec un ensemble vide pour les produits enregistrés ;
    - Écrire une fonction AfficherProduit qui prend en paramètre un produit et l’affiche à l’écran ;
    - Écrire une fonction EnregistrerProduit qui prend en paramètre un caissier et un produit et permettant au caissier d’enregistrer la vente du produit ;
    - Écrire une fonction ListerProduits qui prend un caissier en paramètre et permet d’afficher l’ensemble des produits enregistrés par le caissier ;
    - Écrire une fonction SoldeCaisse qui prend un caissier en paramètre et retourne le solde final de la caisse (la somme des prix des produits vendus par le caissier) ;
    - Écrire une fonction ChangerPrix qui prend un produit en paramètre et permettant de changer son prix ;
    - Écrire une fonction PlusChere qui prend en paramètre un caissier et retourne le produit le plus cher enregistré par le caissier ;
    - Écrire une fonction ChercherProduit qui prend un caissier et un produit en paramètre et retourne un booléen indiquant que le produit a été vendu ou non par le caissier (recherche suivant le code à barre du produit).
    Indications :
    - toutes les fonctions doivent être écrites dans un seul fichier nommé
    caissiers.py ;
    - après avoir exécuter le programme en cliquant sur le triangle vert dans Spyder (ou en choisissant Run –> Run), on doit pouvoir tester les fonctions comme suit dans l’interpréteur de Spyder:
    1. p = saisirProduit()
    2. afficherProduit(p)
    3. c = saisirCaissier()
    4. enregistrerProduit(c,p)
    5. listerProduits(c) : on doit avoir un seul produit ;
    6. p2 = saisirProduit()
    7. enregistrerProduit(c, p2)
    8. listerProduits(c) : on doit avoir maintenant 2 produits ;
    9. soldeCaisse(c) : la somme des prix des 2 produits ;
    10. changerPrix(p)
    11. afficherProduit(p) : on doit remarquer que le prix du produit a changé
    12. plusCher=plusCher(c)
    13. aficherProduit(plusCher)
    14. px=saisirProduit()
    15. chercherProduit(c, px) : doit retourner faux
    16. enregistrerProduit(c, px)
    17. chercherProduit(c, px) : doit retourner vrai maintenant.



    mon programme est le suivant:
    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
     
     
    class Produit:
        def __init__(self,code,nom,prix):
            self.code=code
            self.nom=nom
            self.prix=prix
     
    class Caissier:
        def __init__(self,id,nom):
            self.nom=nom
            self.id=id
     
    def SaisirProduit():
        produit=Produit()
        produit.nom=input("entez le nom")
        produit.prix=float(input("entrez le prix"))
        produit.code=float(input("entrez le code à barre"))
        return produit

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut

    Sans préciser en quoi on peut vous aider ou plutôt quel(s) problème(s) vous avez des difficultés à résoudre.... je ne vois pas trop ce que vous attendez.

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

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour...
    En realité j'aimerais que vous visualisez mon programme et que vous me montrer les erreurs que j'ai commises ou si possible me proposer un programme à l'aide de l'enoncé de l'exercice
    Mercii.
    Coordialement.
    tkm226

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par tkm226 Voir le message
    En realité j'aimerais que vous visualisez mon programme et que vous me montrer les erreurs que j'ai commises ou si possible me proposer un programme à l'aide de l'enoncé de l'exercice
    Pour l'instant, vous n'avez pas écrit grand chose sinon la réponse à la première question.
    Après c'est à vous de tester (çà fait partie de la mise au point d'un programme) et corriger.

    Si vous avez un problème que vous ne savez pas corriger, vous pouvez l'exposer pour avoir de l'aide (au cas où).

    Si vous voulez apprendre à coder, il faut vous jeter à l'eau.

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

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Exercice
    Bonjour voici donc ce que j'ai reussi à faire. Mais je re,cpntre des problemes au niveau de def pluscher. puis je avoir votre aide s'il vous plait?
    merci

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    # -*- coding: utf-8 -*-
    """
     
     
    class Produit:
        code=0
        nom=""
        prix=0
     
    class Caissier:
        id=0
        nom=""
        produits_vendus=[]
     
    def SaisirProduit():
        produit= Produit()
        produit.code=int(input("Entrez le code à barre, le code doit être un entier: ")) 
        produit.nom= input("Entrer le nom du produit : ")
        produit.prix=float(input("Entrez le prix du produit : "))   
        return produit;
     
    def SaisirCaissier():
        caissier=Caissier()
        caissier.id=int(input("Entrer l'identifiant du caissier l'identifiant doit être un entier :"))
        caissier.nom=input("Entrer le nom du caissier :")
        return caissier;
     
     
    def AfficherProduit(produit):
        print("Code :",produit.code,", Nom :",produit.nom, ", Prix: ",produit.prix)
     
    def EnregistrerProduit(caissier,produit):
        caissier.produits_vendus.append(produit)
        return caissier.produits_vendus
     
    def ListerProduits(caissier):
        print("la liste des produits vendus par le caissier:")
        for produit in c.produits_vendus:
            AfficherProduit(produit)
     
    def  SoldeCaisse(caissier):
        somme= 0
        for produit in caissier.produits_vendus:
            somme= somme + produit.prix
        return somme
     
    def ChangerPrix(produit):
        produit.prix=float(input("Entrez le nouveau prix du produit : "))
        return produit.prix
     
    def PlusCher(caissier):
        list.sort()
     
     
    def ChercherProduit(caissier, produit):
        i=0
        while i<len(caissier.produits_vendus):
            if(caissier.produits_vendus[i].code==produit.code):
                return True
            i=i+1
        return False
     
     
     
     
    #afficher le produit saisie
    p=SaisirProduit() # Question 1
    AfficherProduit(p) # Question 2
    c=SaisirCaissier() # Question 3
    EnregistrerProduit(c, p) # Question 4
    ListerProduits(c) # Question 5
    p2= SaisirProduit() # Question 6
    EnregistrerProduit(c, p2) # Question 7
    ListerProduits(c) # Question 8
    SoldeCaisse(c) # Question 9
    s=SoldeCaisse(c) 
    print("le solde de la caisse:",s) 
    ChangerPrix(p) # Question 10
    PlusCher=PlusCher(c)
    AfficherProduit(PlusCher)
    AfficherProduit(p) # Question 11
    px=SaisirProduit() 
    h= ChercherProduit(c, px)
    print(h)
    EnregistrerProduit(c,px)
    g= ChercherProduit(c,px)
    print(g)

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par tkm226 Voir le message
    puis je avoir votre aide s'il vous plait?
    Commencez par décrire en français ce que doit faire cette fonction.
    Puis vous essayez de réfléchir sur le papier à la séquence d'opération qu'elle devrait faire.
    Enfin, lorsque vous avez l'impression que çà pourrait le faire, vous essayez le coder et vous vérifiez sur quelques exemples que çà fonctionne.

    Çà c'est la démarche de base.
    Elle devrait vous permettre de poster un code (ce que vous avez essayé de faire) et un exemple de ce qui ne marche pas.

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

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Programme
    Bon la fonction Écrire PlusChere prend en paramètre un caissier et retourne le produit le plus cher enregistré par le caissier
    J'avais precedement posté l'exercice ci dessus. Bon j'ai essayé d'ecrire la fonction et j'ai pas reussi raison pour laquelle je vous demande de m'aider à l'ecrire. Merci

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par tkm226 Voir le message
    Bon j'ai essayé d'ecrire la fonction et j'ai pas reussi raison pour laquelle je vous demande de m'aider à l'ecrire.
    Si vous ne montrez pas ce que vous avez essayé, je ne vais pas pouvoir vous aider (au sens essayer de vous expliquer ce que vous n'avez pas compris) sauf à écrire le code à votre place.

    Ce que je trouve idiot puisque vous avez des exercices corrigés dans n'importe quel on tuto.

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

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    j'ai essayé de faire un tri dans la liste produits_vendus. C'est de la que vient mon probleme car je ne sais pas en reatité le faire. Raison pour laquelle je vous demande de m'aiderà le faire si possible. Merci

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par tkm226 Voir le message
    j'ai essayé de faire un tri dans la liste produits_vendus. C'est de la que vient mon probleme car je ne sais pas en reatité le faire. Raison pour laquelle je vous demande de m'aiderà le faire si possible. Merci
    Vous avez écrit:
    la fonction Écrire PlusChere prend en paramètre un caissier et retourne le produit le plus cher enregistré par le caissier
    Si vous avez une liste genre: 1, 2, 4, 3, 5, 1 comment vous faites pour sortir la valeur maximale de la liste (sans utiliser "max")?
    note: si vous ne savez pas faire çà, c'est que vous n'avez pas trop passé de temps dans les tutos. standards pour apprendre les bases avant de vous lancez dans des petits projets à vous. Vous savez quoi faire.

    Après si vous partez à dire, je range les produits par prix décroissant puis je récupère le premier de la liste, fonctionne aussi. Mais utiliser le "sort" de Python n'est plus du niveau débutant. Vous devez lire la documentation, le how-to,...

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

Discussions similaires

  1. Demande d'explications pour un petit programme de panier
    Par inkka13 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/03/2016, 20h09
  2. demande d'explication pour un code css
    Par gaya102 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 03/03/2009, 22h39
  3. demande d'explication pour long et float
    Par m3am3a dans le forum Général Java
    Réponses: 1
    Dernier message: 09/11/2008, 23h48
  4. demande d'explication pour commencer
    Par modjo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/09/2008, 20h05

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