您好,登錄后才能下訂單哦!
這篇文章主要介紹了python如何實現汽車管理系統,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、定義車輛類,屬性有車牌號、顏色、車型(小汽車、小卡、中卡和大卡)、到達的時間和離開的時間等信息和相關的對屬性做操作的行為。
2、定義一個管理類,完成對停車場的管理。停車場的具體要求:設停車場是一個可停放n輛汽車的狹長通道,且只有一個大門可供汽車進出。汽車在停車場內按門外的便道上等待,一旦有車開走,則排在便道上的第一 輛車即可開入;每輛停放在車場的車在它離開停車場時必須按它停留的時間長短交納費用。
功能描述:
(1)添加功能:程序能夠添加到達停車場的車輛信息,要求車輛的車牌號要唯一,如果添加了重復編號的記錄時,則提示數據添加重復并取消添加。
(2)查詢功能:可根據車牌號、車型等信息對已添加的停車場中的車輛信息進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息;
(3)顯示功能:可顯示當前系統中所有車輛的信息,每條記錄占據一行。
(4)編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意車牌號的唯一性。
(5)刪除功能:主要實現對已添加的車輛記錄進行刪除。如果當前系統中沒有相應的人員記錄,則提示“記錄為空!”并返回操作。
(6)統計功能:能統計停車場中車輛的總數、按車型、按到達時間進行統計等。
實現代碼:
import datetime class CarMessage(object): def __init__(self, num, owner, color, type, connect, money, endtime): # 汽車屬性 self.num = num self.color = color self.type = type self.owner = owner self.connect = connect self.money = money self.entime = endtime def __str__(self): print('車牌號:<%s> 車主:<%s> 顏色:<%s> 車型:<%s> 聯系方式:<%s> 余額:<%s> 停車時間:<%s> ' % (self.num, self.owner, self.color, self.type, self.connect, self.money, self.entime)) class Park(object): def init(self): # 對停車場初始化車輛 self.car_list.append(CarMessage('001', 'python', '黑', '大卡', '123456789', 34, datetime.datetime.now())) self.car_list.append( CarMessage('002', 'hello', '黑', '小汽車', '123456789', 87, datetime.datetime.now() - datetime.timedelta(minutes=10))) self.car_list.append( CarMessage('003', 'java', '白', '小汽車', '123456789', 55, datetime.datetime.now() - datetime.timedelta(hours=1))) self.car_list.append( CarMessage('004', 'westos', '黑', '小卡', '123456789', 60, datetime.datetime.now() - datetime.timedelta(days=2))) self.car_list.append( CarMessage('005', 'root', '白', '中卡', '123456789', 24, datetime.datetime.now() - datetime.timedelta(minutes=60))) def __init__(self): self.max_car = 200 self.car_list = [] self.cur_car = len(self.car_list) def Menu(self): self.init() while True: print(""" 停車場管理系統 1)停車 2)取車 3)余額查詢 4)顯示已存放車輛 5)查詢 6)編輯車輛信息 7)退出 """) choice = input("請輸入你的選擇:") if choice == '1': self.park() elif choice == '2': self.exit() elif choice == '3': car = input("請輸入車牌號:") self.pay(car) elif choice == '4': for i in self.car_list: CarMessage.__str__(i) elif choice == '5': self.find() elif choice == '6': #編輯車輛信息 self.edit() elif choice == '7': exit(0) else: print('請輸入正確選項!!!') def park(self): if self.cur_car<self.max_car: car_num = input('請輸入你的車牌號:') res = self.check(car_num) # 判斷該車牌是否有停車記錄 if res is None: self.car_list.append(CarMessage(car_num, input('車主:'), input('顏色:'), input('車型<小汽車、小卡、中卡和大卡>:'), input('聯系方式:'), int(input('余額')), datetime.datetime.now())) print('汽車可以進入') else: print('車輛已在停車場內部') else: print('車位已滿,無法停車') def exit(self): car_num = input("請輸入你的車牌號:") res = self.check(car_num) if res is not None: self.pay(res) self.car_list.remove(res) print('一路平安,出行平安') else: print('你的車輛不在停車場內部,請通知管理員!') def pay(self,car): # res = self.check(car) money = (datetime.datetime.now() - car.endtime).seconds / 60 print("當前余額:%s" %(money)) while True: if car.money >= money: # 判斷余額是否夠支付 car.money -= money print('自動付款%s成功' % (money)) break else: print('余額不足請充值') car.money += int(input('充值金額:')) print('充值成功') def check(self,car_num): for i in self.car_list: if car_num == i.num: return i else: return None def find(self): while True: print(''' 1)根據車牌查詢 2)根據車型查詢 3)返回 ''') choice = input("請輸入你的選擇:") if choice == '1': num = input('車牌號:') res = self.check(num) if res is not None: CarMessage.__str__(res) else: print("查無此車!") elif choice == '2': type = input("車型<小汽車、小卡、中卡和大卡>:") if type in ['小汽車','小卡','中卡','大卡']: for i in self.car_list: if i.type == type: CarMessage.__str__(i) else: print('不存在%s這種車型'%(type)) elif choice == '3': break else: print('請輸入正確選項\n') def edit(self): #更改車輛信息 num= input('請輸入車牌號:') res = self.check(num) if res is not None: CarMessage.__str__(res) print('信息修改:\n車牌號:%s'%(num)) res.owner = input('車主:') res.clor = input('顏色:') while True: type = input("車型<小汽車、小卡、中卡和大卡>:") if type in ['小汽車', '小卡', '中卡', '大卡']: res.type = type break else: print('不存在%s這種車型,請重新輸入\n' % (type)) res.connect = input('聯系方式:') res.money = int(input('余額:')) res.entime = datetime.datetime.strptime(input('進入停車場時間(eg:2018-05-21 11:14:10):'), '%Y-%m-%d %H:%M:%S') print('信息修改成功...') else: print('沒有車牌%s的車輛信息'%(num)) p = Park() p.Menu()
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python如何實現汽車管理系統”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。