• Le parking a plusieurs niveaux, avec un certain nombre de places par niveau. Par exemple , un parking à 5 niveaux avec 40 places par niveaux aura des places numérotées 001 à 440 (le chiffre des centaines étant le numéro du niveau). On créera une classe Parking et une classe Voiture.
• La classe Voiture possède comme attributs définis à l'initialisation :
◦ le numéro d’immatriculation de la voiture,
◦ sa marque,
◦ le nom de son propriétaire
• des méthodes :
◦ des getters permettant de récupérer l'immatriculation , la marque , le nom du propriétaire , la place réservée ou affectée dans le parking
◦ permettant de savoir si cette voiture a un abonnement , et quelle est sa place réservée
◦ la méthode spéciale __str__ permettant d'avoir une représentation d'une voiture à l'aide de print
Lors de la création d'un objet de type Voiture , seul le numéro d'immatriculation est obligatoire .
• La classe Parking possède des attributs :
◦ Le nombre de niveaux et le nombre de places par niveau (choisi par l'utilisateur )
◦ la liste des abonnés
◦ la liste des places vacantes ou occupées
• Elle possède des méthodes permettant
◦ d’abonner une voiture et lui affecter une place choisie par l'utilisateur
◦ De garer une voiture à une place :
▪ Celle qui lui est affectée si cette voiture est abonnée
▪ Choisie au hasard parmi les places non occupées si la place n'est pas précisée
▪ Choisie par l'utilisateur , à condition que celle-ci ne soit pas déjà prise(auquel cas , il renvoie False pour indiquer que ce choix n'est pas possible)
◦ d’annuler un abonnement
◦ de savoir si une place donnée est libre, ou quelle voiture l’occupe
◦ de renvoyer la liste des places d’abonnés occupées par d’autres voitures ( occupations illégales)
◦ de connaitre le nombre de places libres sans compter les places réservées aux abonnés
◦ de représenter le parking (en mode graphique si possible avec Tkinter ) .Par exemple , ci-dessous on a un parking de 5 niveaux de 80 places , avec les places 001,069,101,230 ,256,280 occupées (rouge) , la place 225 réservée (bleue) ( l’affichage du parking devra se mettre à jour automatiquement lorsqu’on modifie quelque chose)
• Vous écrirez une batterie de tests permettant de vérifier l'ensemble des fonctionnalités demandées
• Le code devra être suffisamment commenté pour être compréhensible facilement . En particulier , chaque méthode devra comporter un docstring
• Vous devrez mettre des préconditions lors de l'affectation d'une place , soit à la réservation , soit par garer la voiture , que le numéro de place est bien un numéro qui existe dans ce parking
Hello! I'm a professional Python developer, and I'm available to help with your assignment. I can provide elegant, efficient and documented code very quickly.
€30 EUR dalam 1 hari
5,0 (7 ulasan)
3,2
3,2
3 freelancer menawar dengan rata-rata €25 EUR untuk pekerjaan ini