Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet python

    10 janvier 2019 à 16:39:46

    Bonjour, 

    Je suis étudiant et je dois rendre un projet mais je rencontre des difficultés pour le faire. Le but de ce projet est de faire une badgeuse. On doit pouvoir : 
    - rentrer le nom de la personne et son heure d'entrée, 
    - le nom de la personne ainsi que l'heure de sortie, 
    - l'historique des personnes présentes dans le bâtiment, 
    - l'affichage des personnes présentes dans le bâtiment à un créneau précis, 
    - la durée totale passée dans le bâtiment d'une personne précise. 
    J'ai commencé à faire quelque chose mais je le posterai tout à l'heure. 

    En espérant recevoir votre aide 

    Cordialement 
    • Partager sur Facebook
    • Partager sur Twitter
      10 janvier 2019 à 17:19:54

      bonjour,

      sans code difficile de pouvoir t'aiguiller

      • Partager sur Facebook
      • Partager sur Twitter
      http://sinclair.recreatedzxspectrum.com/index.php
        10 janvier 2019 à 22:17:08

        Oui effectivement ^^

        #!/usr/bin/python3
        print("\n")
        print("             ##################################################################")
        print("             ##                                                              ##")
        print("             ##              Programmme Python                               ##")
        print("             ##              Auteur:                       ##")
        print("             ##              Année: 2018/2019                                ##")
        print("             ##              Projet tuteuré: Gestion des accès à un bâtiment ##")
        print("             ##                                                              ##")
        print("             ##################################################################")
        print("\n")
        
        #Crétion d'une fonction horaire pour faciliter l'entrée de l'heure d'entrée/sortie du bâtiment
        def heure():
            h=int(input("Entrer les heures svp: "))
            m=int(input("Entrer les minutes svp: "))
            s=int(input("Entrer les secondes svp: "))
            return [h,m,s]
        
        #Création du menu principal
        n=0
        def menu():
            n=0
            print("Bonjour et bienvenue sur le menu. Que désirez-vous faire ?")
            print("1- Entrée \n" "2- Sortie \n" "3- Affichage \n" "4- Historique des entrées/sorties \n" "5- Liste des personnes présentes dans le bâtiment actuellement \n" "6- Liste des personnes présentes à un créneau précis \n" "7- Temps total passé dans le bâtiment \n" "8- Quitter")
            n=(input("Taper le nombre correspondant à ce que vous souhaitez faire dans le menu (Entre 1 et 8): "))
            return n
        while n!="10":
            n=menu()
            if n=="1":
                print("Entrée")
                entree()
            elif n=="2":
                print("Sortie")
                sortie()
            elif n=="3":
                print("Affichage")
            elif n=="4":
                print("Historique des entrées/sorties")
            elif n=="5":
                print("Liste des personnes présentes actuellement dans le bâtiment")
            elif n=="6":
                print("Liste des personnes présentes à un créneau précis")
            elif n=="7":
                print("Temps total passé dans le bâtiment")
            elif n=="8":
                print("Quitter")
        print(menu())
        
        #Définition de la fonction "Entrée"
        nom=0
        h=0
        utilisateur=[] #On crée une liste pour enregistrer les personnes
        def entree():
            nom=input("Entrer votre nom svp: ") #On demande à la personne d'entrer son nom pour qu'elle puisse s'enregistrer dans les données de la badgeuse
            return nom
            verif=[nom] #On vérifie que la personne n'est pas déjà présente dans le bâtiment
            entree=heure() #On lui demande de rentrer l'heure à laquelle il rentre dans le bâtiment
            verif.append(entree)
            utilisateur.append(verif)
            print("Bonjour",nom,",vous êtes bien enregistré(e)")
        
        #Création de la fonction "Sortie" (à complèter)
        def sortie():
            name=input("Entrer votre nom svp: ") #On demande à l'utilisateur enregistré d'entrer son nom
            sortie=heure() #On lui demande de rentrer l'heure à laquelle il/elle quitte le bâtiment
        
        #Définition de la fonction "Historique des entrées/sorties"
        def hist_entrees_sorties():
            name=input("Veuillez rentrer le nom d'une personne à rechercher dans les données: ") #On demande à la personne de rentrer le nom de quelqu'un pour vérifier ses entrées/sorties

        J'ai essayé de commencer quelque chose, mais j'ai beaucoup de mal à continuer :/

        • Partager sur Facebook
        • Partager sur Twitter
          11 janvier 2019 à 0:27:02

          Edit: Désolé, je viens de me rendre compte que j'étais avec un autre compte pour ma réponse
          • Partager sur Facebook
          • Partager sur Twitter
            11 janvier 2019 à 17:25:49

            J'ai vraiment d'aide svp, j'arrive pas à m'en sortir :(

            Je dois le rendre pour mardi

            • Partager sur Facebook
            • Partager sur Twitter
              11 janvier 2019 à 19:16:30

              Déjà l'organisation du code le rend dur à lire. En général on met toutes les déclarations de fonction ensemble, et on met pas du code hors fonction en plein milieu.

              Ensuite je crois que tu n'as pas testé ton code, dans ta fonction entrée, tout ce qui est après le return ne s'exécute pas (c'est normal), il faut mettre le return à la fin de la fonction. Mais pourquoi mettre un return alors que tu ne récupère pas la valeur renvoyée par la fonction quand tu l'exécute ?

              Ensuite pour avancer, tu peux commencer par les données, tu as une liste des utilisateurs ligne 53, mais ce sera sans doute pas suffisant.

              Il te faudra une ou plusieurs structures de données pour stocker les utilisateurs et leurs entrées-sorties, c'est le coeur du programme, tout tourne autour de ça. Rien que ce genre de démarche peut te débloquer.

              Ensuite il faudra définir précisément les autres fonctionnalités. Par exemple Affichage, elle doit afficher toutes les données ou juste une partie ?

              EDIT : Et c'est pour quel niveau ? C'est pour l'ISN en terminale ?

              -
              Edité par LoupSolitaire 11 janvier 2019 à 19:21:06

              • Partager sur Facebook
              • Partager sur Twitter

              Blond, bouclé, toujours le sourire aux lèvres...

                14 janvier 2019 à 18:02:30

                Bonsoir, déjà merci de ton aide. J'ai réussi à un peu avancer mon programme. Voici ce que j'ai fais :

                #!/usr/bin/python3
                print("\n")
                print("             ##################################################################")
                print("             ##                                                              ##")
                print("             ##              Programmme Python                               ##")
                print("             ##              Auteur: Bastian Cannere                         ##")
                print("             ##              Année: 2018/2019                                ##")
                print("             ##              Projet tuteuré: Gestion des accés à un bâtiment ##")
                print("             ##                                                              ##")
                print("             ##################################################################")
                print("\n")
                
                ##################################################################################
                #Fonctions pratiques :
                #Informations de la personne
                def affichage(elem):
                    return "Nom: " + elem[0] + " | Entrée: "+ aff_heure(elem[1]) + " | Sortie: " + aff_heure(elem[2])
                
                def aff_heure(h):
                    if h==None:
                        return "None"
                    else:
                        return (str(h[0])+"h "+str(h[1])+"min "+str(h[2])+"s")
                
                #Création d'une fonction horaire pour faciliter l'entrée de l'heure d'entrée/sortie du bâtiment
                def heure():
                    h=int(input("Entrer les heures svp: "))
                    while h<0 or h>23:
                        h=int(input("Une erreur s'est produite ! Veuillez ressayer: "))
                    m=int(input("Entrer les minutes svp: "))
                    while m<0 or m>59:
                        m=int(input("Une erreur s'est produite ! Veuillez ressayer:  "))
                    s=int(input("Entrer les secondes svp: "))
                    while s<0 or s>59:
                        s=int(input("Une erreur s'est produite ! Veuillez ressayer."))
                    return [h,m,s]
                
                
                
                ###################################################################################
                #Création du menu principal
                n=0
                def menu():
                    n=0
                    print("Bonjour et bienvenue sur le menu. Que désirez-vous faire ?")
                    print("1- Entrée \n" "2- Sortie \n" "3- Affichage \n" "4- Historique des entrées/sorties \n" "5- Liste des personnes présentes dans le bâtiment actuellement \n" "6- Liste des personnes présentes à un créneau précis \n" "7- Temps total passé dans le bâtiment \n" "8- Quitter")
                    n=input("Taper le nombre correspondant à ce que vous souhaitez faire dans le menu (Entre 1 et 8): ")
                    return n
                
                
                #Définition de la fonction "Entrée"
                nom=0
                entree=0
                utilisateur=[] #On crée une liste pour enregistrer les personnes
                def entree():
                    nom=input("Entrer votre nom svp: ") #On demande à la personne d'entrer son nom pour qu'elle puisse s'enregistrer dans les données de la badgeuse
                    verif=[nom] #On vérifie que la personne n'est pas déjà présente dans le bâtiment
                    entree=heure() #On lui demande de rentrer l'heure à laquelle il rentre dans le bâtiment
                    verif.append(entree)
                    verif.append(None) #Signifie que l'utilisateur n'a pas rentré une heure de sortie
                    utilisateur.append(verif)
                    print("Bonjour",nom,",vous êtes bien enregistré(e)")
                
                
                #Création de la fonction "Sortie" (à compléter)
                def sortie():
                    name=input("Entrer votre nom svp: ") #On demande à l'utilisateur enregistré d'entrer son nom
                    sortie=heure() #On lui demande de rentrer l'heure à laquelle il/elle quitte le bâtiment
                    check=True
                
                
                #Définition de la fonction "Historique des entrées/sorties"
                def hist_entrees_sorties():
                    name=input("Veuillez rentrer le nom d'une personne à rechercher dans les données: ") #On demande à la personne de rentrer le nom de quelqu'un pour vérifier ses entrées/sorties
                    for elem in utilisateur:
                        if name==elem[0]:
                            print(affichage(elem))
                            
                
                #Création de la fonction permettant de savoir qui se trouve actuellement dans le bâtiment
                def pers_bat():
                    for elem in utilisateur:
                        if elem[2]==None:
                            print(affichage(elem))
                
                
                #Suite fonction menu   
                while n!=10:
                    n=menu()
                    if n=="1":
                        print("Entrée")
                        entree()
                    elif n=="2":
                        print("Sortie")
                        sortie()
                    elif n=="3":
                        print("Affichage")
                        for elem in utilisateur:
                            print(affichage(elem))
                    elif n=="4":
                        print("Historique des entrées/sorties")
                        hist_entrees_sorties()
                    elif n=="5":
                        print("Liste des personnes présentes actuellement dans le bâtiment")
                        pers_bat()
                    elif n=="6":
                        print("Liste des personnes présentes à un créneau précis")
                    elif n=="7":
                        print("Temps total passé dans le bâtiment")
                    elif n=="8":
                        exit()
                        print("Quitter")
                    else:
                        n=menu()
                menu()

                Est-il possible de m'aider à le terminer et à l'améliorer par la suite si j'ai le temps ? Merci d'avance

                Ps: Ce n'est pas pour l'ISN. Je suis en Dut Réseaux et Télécoms

                • Partager sur Facebook
                • Partager sur Twitter

                Projet 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.
                • Editeur
                • Markdown