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 :

aide sur l'écriture d'un programme python pour un débutant


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut aide sur l'écriture d'un programme python pour un débutant
    Bonjour,

    je suis nouveau en paython, je cherche a faire un menu d'achat de billet de cinéma comme exercice. Mon souci c'est quand l'utilisateur tape 2 pour voir le total d'achat.

    j'arrive a faire le total des achat quand le client déicide de prendre du pop corne avec le billet. mais je ne trouve pas la solution pour ajouté les billet sans pop corne. En résumé je cherche une méthode général qui fait le calcule du total quelque sois l'achat avec ou sans pop corne 5 ou 10 ou même 20 billet .

    EX: le client achete 7 billet ( 2 mineur et 2 majeur avec pop corne , 2 mineur et 1 majeur sans pop corne ). Merci

    est-il possible s'il vous plait de me donner des idées merci d'avance.

    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
     
    import os
     
     
    def main():
        menu = True
        price_mineur = 7.00
        price_majeur = 12.00
        pop = 5.00
        rep = "oui"
        rep1 = "non"
        while menu != "3":
            print("""
                       1.Achat d'un billet  
                       2.Total des achats
                       3.Quitter
                      """)
            menu = input("Entrez votre choix :")
     
            if menu == "1":
                age = int(input("Entrez votre age :"))
                supp = input("Voulez vous du pop corne ?")
                if age <= 18 and supp == rep:
                    print("le prix du billet et  de: {}€".format(price_mineur) + "\n" + "Le pop corne coûte : {}€".format(pop))
                    total = pop + price_mineur
                    print("Total est de: {}€".format(total) + "\n" + "N'oubliez pas votre billet, et bon film")
                    input("Appuyez sur une touche pour continuer")
                    os.system("cls")
                    continue
                elif age <= 18 and supp == rep1:
                    print("Le coût du billet est de : {}€".format(price_mineur) + "\n" + "N'oubliez pas votre billet, et bon film")
                    input("Appuyez sur une touche pour continuer")
                    os.system("cls")
                    continue
                else:
                    if age >= 18 and supp == rep:
                        print("le prix du billet et  de: {}€".format(price_majeur) + "\n" + "Le pop corne coûte : {}€".format(
                        pop))
                        total1 = pop + price_majeur
                        print("Total est de: {}€".format(total1) + "\n" + "N'oubliez pas votre billet, et bon film")
                        input("Appuyez sur une touche pour continuer")
                        os.system("cls")
                        continue
                        os.system("cls")
                        continue
            if menu == "2":
                total3= total + total1
                print("Le prix total de vos achet est de : {}€".format(total3))
            if menu == "3":
                print("Mercid'avoir venu voir nos film, à la prochaine")
            else:
                print("\n choix invalide, merci de choisir un numéro valide")
                input("Appuyez sur une touche pour continuer")
                os.system("cls")
     
     
    if __name__ == '__main__':
        main()

  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
    Bonjour,
    Tu peux utiliser un dictionnaire afin d'associer une 'prestation' à un prix.
    Utilise une liste pour enregistrer les achats . à chaque commande tu y ajoutes la clef concernée. Ce qui te permettra à n'importe quel point du code de connaitre la nature des achats et d'en calculer le montant.

    Sinon, il est préférable de ne pas utiliser os.('cls') qui n'est pas portable . Tu peux obtenir le même effet visuel avec un print . (en affichant suffisamment de print() vides jusqu’à l'illusion d'une page blanche)

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut
    Un exemple s'il vous plait .

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par kader2006 Voir le message
    Un exemple s'il vous plait .
    Déjà essayez de représenter la variation majeur/mineur avec ou sans pop-corn: çà fait une table de vérité à 4 lignes (une pour chacun des 2 x 2 cas).

    Pour calculer le prix à ajouter au total, il va falloir "tester" 2 alternatives et encore 2 alternatives à l'intérieur de chacune.

    Après c'est sûr que pour calculer le prix pour chaque personne on aura besoin de 2 informations age et un booléen pour traduire avec ou sans pop corn.

    Ce qui se ramène à fabriquer une liste de tuples de la forme [(16, True), (35, False),...]
    Après vous pouvez calculer le prix pour une personne avec une fonction qui prendrait en paramètre age et le booléen correspondant au pop corn.
    Une autre fonction qui calcule la somme pour les éléments de la liste.

    Et une fois que vous avez réalisé et testé ces 2 fonctions, vous pourrez vous occuper de la présentation/dialogue avec l'utilisateur.

    Là vous essayez de tout faire en même temps: vous ne vous y retrouvez plus et si vous bougez un truc, çà va péter de partout. Essayez de construire le truc pas à pas, çà ira mieux.

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

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut
    Merci, pour votre réponse je suis entrain d'apprendre le python car j'en besoin pour faire des application de gestion réseau. Je vais essayé de faire et voir le résultat.

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par kader2006 Voir le message
    j'arrive a faire le total des achat quand le client déicide de prendre du pop corne avec le billet. mais je ne trouve pas la solution pour ajouté les billet sans pop corne. En résumé je cherche une méthode général qui fait le calcule du total quelque sois l'achat avec ou sans pop corne 5 ou 10 ou même 20 billet .
    Tu fais trop de tests "à la fois", ex "le client est majeur et du pop-corn" ou "il est mineur mais pas de pop-corn". Tu te compliques la vie. Et si ensuite tu veux gérer le cas "il prend une glace" tu rajouteras des "and" dans tous les sens ?

    Sépare les étapes. Commence par calculer le prix du billet majeur ou mineur. Une fois que tu as le prix, rajoute le supplément pop-corn s'il en prend.
    Donc 1) tu lui demandes son age, cela donne un total. Puis 2) tu lui demandes s'il veut du pop-corn ou pas et cela se rajoute ou pas au total. Tu peux même dire "combien de pop-corn désirez-vous" et simplement multiplier le prix du pop-corn par sa réponse. S'il n'en prend pas il répondra "0" et la multiplication donnera 0.
    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]

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut
    Merci, pour votre réponse, ça donne ça quand le programme viens d'un débutant, hhhh.

  8. #8
    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
    Citation Envoyé par kader2006 Voir le message
    Merci, pour votre réponse, ça donne ça quand le programme viens d'un débutant, hhhh.
    On a tous été débutant et je constate qu'après 5 ans de pratique en Python, je le suis toujours

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Arioch Voir le message
    On a tous été débutant et je constate qu'après 5 ans de pratique en Python, je le suis toujours
    Heureusement que je suis là pour rehausser le niveau !

  10. #10
    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
    Citation Envoyé par LeNarvalo Voir le message
    Heureusement que je suis là pour rehausser le niveau !
    Nom : 2273661.jpg
Affichages : 89
Taille : 50,1 Ko

Discussions similaires

  1. Aide sur l'écriture d'un programme pl/sql
    Par nikolas92400 dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/02/2015, 10h43
  2. Aide sur un projet en méthodes programmation systèmes
    Par citadine dans le forum Réseau
    Réponses: 6
    Dernier message: 17/01/2007, 11h40
  3. Aide sur choix de langage de programmation pour PC et Mac
    Par benouille69 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 11/11/2006, 18h30
  4. aide sur la compilation d'un programme console
    Par angelo2 dans le forum MFC
    Réponses: 6
    Dernier message: 18/10/2005, 07h44

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