国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現停車管理系統

2020-01-04 13:57:27
字體:
來源:轉載
供稿:網友

Python停車管理系統可實現車輛入庫,按車牌號或者車型查詢車輛,修改車輛信息,車輛出庫時實現計費,按車型統計車輛數和顯示全部車輛信息的功能

(1)定義車輛類,屬性有車牌號、顏色、車型(小汽車、小卡、中卡和大卡)、到達的時間和離開的時間等信息和相關的對屬性做操作的行為。

(2)定義一個管理類,完成對停車場的管理。停車場的具體要求:設停車場是一個可停放n輛汽車的狹長通道,且只有一個大門可供汽車進出。

汽車在停車場內按門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;每輛停放在車場的車在它離開停車場時必須按它停留的時間長短交納費用。

功能描述

(1)添加功能:程序能夠添加到達停車場的車輛信息,要求車輛的車牌號要唯一,如果添加了重復編號的記錄時,則提示數據添加重復并取消添加。

(2)查詢功能:可根據車牌號、車型等信息對已添加的停車場中的車輛信息進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息;

(3)顯示功能:可顯示當前系統中所有車輛的信息,每條記錄占據一行。

(4)編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意車牌號的唯一性。

(5)刪除功能:主要實現對已添加的車輛記錄進行刪除。如果當前系統中沒有相應的人員記錄,則提示“記錄為空!”并返回操作。

(6)統計功能:能統計停車場中車輛的總數、按車型、按到達時間進行統計等。

先創建一個關于車的類模塊setting_Car.py

import timefrom setting_Manage import ParkManageclass Car(ParkManage): """一個關于車的類""" def __init__(self,car_number,car_owner,contact_way,car_color,car_model): super(Car, self).__init__() self.car_number=car_number self.car_owner=car_owner self.contact_way=contact_way self.car_color=car_color self.car_model=car_model self.balance=200 self.entrance_time = 0 self.exit_time = 0 def __setitem__(self, key, value): self.__dict__[key]=value def slot_card(self): """根據時間計費""" park_time=time.mktime(time.strptime(self.exit_time)) - time.mktime(  time.strptime(self.entrance_time)) h=park_time//3600 m=(park_time-h*3600)//60 s=park_time-h*3600-m*60 P_time="%.0f時%.0f分%.0f秒"%(h,m,s) consumption = ((park_time) / 3600) * 5 self.balance -= consumption print("車牌號為:%s/n停車時長:%s/n本次消費:%.2f元/n卡里余額:%.2f元/n" % (self.car_number,P_time, consumption, self.balance)) def __str__(self): if self.car_model=='0':  self.car_model="小汽車" elif self.car_model=='1':  self.car_model="小卡" elif self.car_model=='2':  self.car_model="中卡" elif self.car_model=='3':  self.car_model="大卡" return "%s %s %s %s %s %s" %(self.car_number,self.car_owner,self.contact_way,     self.car_color,self.car_model,self.entrance_time)

創建一個關于管理系統的類模塊setting_Manage.py

import timeclass ParkManage(object): """創建一個關于停車的類""" def __init__(self,max_car=100,): #定義最大停車輛數 self.max_car=max_car self.car_list = [] self.cur_car=len(self.car_list) def info(self): """ #顯示系統功能信息""" print(""" ————————————————————————— |***歡迎進入車輛管理系統***| ————————————————————————— {1}     {2}  1)添加車輛信息{3}{2}{0}     {2}  2)查詢車輛信息{3}{2}{0}{2}  3)顯示車輛信息{3}{2}{0}{2}  4)編輯車輛信息{3}{2}{0}{2}  5)刪除車輛信息{3}{2}{0}{2}  6)統計車輛信息{3}{2}{0}{2}  7)退出系統{3}{2}{1} """.format("-"*40,"="*40,"|"," "*16)) def add_car(self,car): """#添加車輛信息""" entrance_time = time.ctime() car["entrance_time"]=entrance_time for Car in self.car_list:  if Car.car_number == car.car_number:  print("車牌號信息有誤,重新輸入")  break else:  self.car_list.append(car)  print("車牌號為%s的車入庫成功" %car.car_number) def search_By_Number(self): """#按車牌號查詢""" car_number=input("請輸入你您要查找的車牌號:") for car in self.car_list:  if car.car_number==car_number:  print(car)  break else:  print("未找到車牌號為%s的車輛" %car_number) def search_By_Model(self): """#按車型查詢""" car_model=int(input("(小汽車:0,小卡:1,中卡:2,大卡:3)/n請輸入您要查找的車型:")) if car_model in [0,1,2,3]:  for car in self.car_list:  if car_model==int(car.car_model):   print(car)  else:  print("未找到相關車輛信息") else:  print("輸入有誤,請重新輸入") def searchCar(self): """#查找車輛信息""" print("""  1)按車牌號查找  2)按車型查找 """) search_chioce=input("輸入您要查找的方式:") if search_chioce == '1':  self.search_By_Number() elif search_chioce=='2':  self.search_By_Model() else:  print("輸入有誤,請重新輸入") def display(self): """#顯示車車輛信息""" if len(self.car_list)!=0:  for car in self.car_list:  print(car) else:  print("車庫為空") def change_Carinfo(self): """#修改車輛信息""" car_number = input("請輸入你您要查找的車牌號:") for car in self.car_list:  if car.car_number == car_number:  index=self.car_list.index(car)  change=int(input("(修改信息的序號:/n車主0,/n聯系方式1,/n車顏色2,/n車型3)/n輸入你要修改的信息序號:"))  if change==0:   new_info=input("輸入新的信息:")   self.car_list[index].car_owner=new_info   print("車主名修改成功")   break  elif change==1:   new_info=input("輸入新的信息:")   self.car_list[index].contact_way=new_info   print("聯系方式修改成功")   break  elif change==2:   new_info=input("輸入新的信息:")   self.car_list[index].car_color=new_info   print("車顏色修改成功")   break  elif change==3:   new_info=input("輸入新的信息:")   self.car_list[index].car_model=new_info   print("車型修改成功")   break else:  print("未找到車牌號為%s的車輛" % car_number) def delete_car(self,car): """刪除車輛信息""" exit_time=time.ctime() car["exit_time"]=exit_time car.slot_card() self.car_list.remove(car) print("車牌號為%s的車兩成功刪除"%car.car_number) def statistics(self): """統計車輛信息""" sedan_car_number=0 pickup_truck_number=0 middle_truck_number=0 super_truck_number=0 for car in self.car_list:  if car.car_model=='0':  sedan_car_number+=1  elif car.car_model=='1':  pickup_truck_number+=1  elif car.car_model=='2':  middle_truck_number+=1  elif car.car_model=='3':  super_truck_number+=1 else:  print("小汽車:%s/n"   "小 卡:%s/n"   "中 卡:%s/n"   "大 卡:%s/n"   %(sedan_car_number,pickup_truck_number,middle_truck_number,super_truck_number))

在main_fun.py中創建主函數并運行

import refrom setting_Car import Carfrom setting_Manage import ParkManagedef check_car_number(car_number): #判斷車牌號是否合法 pattern = re.compile(u'[/u4e00-/u9fa5]?') pattern1 = re.compile(u'[A-Z]+') pattern2 = re.compile(u'[0-9]+') match = pattern.search(car_number) match1 = pattern1.search(car_number) match2 = pattern2.search(car_number) if match and match1 and match2: return True else: return Falsedef check_contact_way(contact_way): #判斷手機號是否合法 pattern = re.compile(u'1[3|4|5|6|7|8|9]/d{9}$') match = pattern.search(contact_way) if match: return True else: return Falsedef main(): parkmanage=ParkManage() while True: parkmanage.info() choice=input("請輸入你要的功能:") if choice=='1':  check_error_list=[]  car_number=input("請輸入車牌號:")  if check_car_number(car_number):  car_owner=input("請輸入車主姓名:")  contact_way=input("請輸入車主聯系方式:")  if check_contact_way(contact_way):   car_color=input("請輸入車顏色:")   car_model=input("請輸入車型(小汽車:0,小卡:1,中卡:2,大卡:3):")   check_error_list=[car_number,car_owner,contact_way,car_color,car_model]   for info in check_error_list: #判斷輸入信息的完整性   if info=='':    print("輸入信息不全")    break   else:   car = Car(car_number, car_owner, contact_way, car_color, car_model)   parkmanage.add_car(car)  else:   print("手機號無效")  else:  print("車牌號不合法") elif choice=='2':  parkmanage.searchCar() elif choice =='3':  parkmanage.display() elif choice=='4':  parkmanage.change_Carinfo() elif choice=='5':  car_number = input("輸入您要刪除的車輛的車牌號:")  for car in parkmanage.car_list:  if car.car_number == car_number:   parkmanage.delete_car(car)   break  else:  print("未找到車牌號為%s的車輛" % (car_number)) elif choice=='6':  parkmanage.statistics() elif choice=='7':  print("歡迎下次使用!!!")  exit() else:  print("請輸入正確的選項")if __name__ == '__main__': main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云阳县| 农安县| 龙泉市| 永春县| 昌图县| 莫力| 锦州市| 松潘县| 灌云县| 永康市| 肇东市| 珠海市| 富裕县| 台中市| 宜丰县| 浠水县| 盐源县| 扎赉特旗| 尼木县| 综艺| 呼和浩特市| 西安市| 都江堰市| 林周县| 通州市| 奉贤区| 阳高县| 葫芦岛市| 抚顺县| 贺兰县| 江津市| 昌黎县| 成都市| 玉树县| 昭觉县| 应城市| 东安县| 麻城市| 大石桥市| 宁陕县| 阿坝|