- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python实现汽车管理系统由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了python实现汽车管理系统的具体代码,供大家参考,具体内容如下 。
1、定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为.
2、定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按门外的便道上等待,一旦有车开走,则排在便道上的第一 辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用.
功能描述:
(1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加.
(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息; 。
(3)显示功能:可显示当前系统中所有车辆的信息,每条记录占据一行.
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性.
(5)删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作.
(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等.
实现代码:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
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()
|
功能三暂时有一些问题,还在学习中.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/Biu_Biu_0329/article/details/80541836 。
最后此篇关于python实现汽车管理系统的文章就讲到这里了,如果你想了解更多关于python实现汽车管理系统的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我目前正在研究车辆编队,为此我需要在 python opencv 中设计一个代码,用于根据分类计算车辆数量。输入是实时交通视频。目的是为边界框找到一个平均大小“x”,并说对于汽车它是“x”,对于公共(
LISP 又一次难住了我……为什么我不能得到列表中最后一个元素的值?我有一个类似于此的列表设置: (setq bar '(((1 2) 3 4 5)((6 7) 8 9 10))) 现在我得到 4 的
我正在尝试将 android.car API 添加到 Android Studio 项目。由于 sdk 默认情况下汽车类不可用,我在 .../car-lib 中完成了 mm 并将生成的 android
我想让我的网站内容居中,但仅限于网页的特定宽度。所以当它超过 500px 时,我希望内容被修复,无法进一步拉伸(stretch)。无论如何都要这样做,还是我最好把所有东西都修好?希望有意义的是添加一些
这是绘制汽车零件的绘图函数,在这个函数中检查汽车轮辋并检查标志,我需要在移动汽车时旋转轮胎轮辋。由于轮辋已旋转但从汽车模型中取出,因此无法正常工作,当我按下向上箭头键时,但汽车确实在移动。 我还在初始
我正在尝试从仅包含一辆车和简单背景的图像中分割汽车,如 但是我从我的实现中得到的是这个 和 分别 但它非常容易处理几乎已经分割的图像,例如。 给出类似 的结果 我使用的代码是 import cv2 i
我正在研究我的大学项目之一,即opencv python中的object(car)检测,我正在使用opencv 3和python 3.4。我有一个代码,但是当我运行代码时,不会显示输出。它表明该代码没
在 C++ primer 5 中我看到了代码: const int a = 40; auto &b = a; 编译器可以推导出 b 类型:const int &。 我认为这是合理的,因为 a 是 co
这个问题更多的是关于在正确的方向上找到一个点。我继承并开发了一个项目来创建汽车选择数据库(匹配用户偏好)。它已经运行得比较好,但可能会更好(存在一些问题),所以我想研究其他人使用的其他一些算法。我正在
我目前正在搜索 WLAN 协议(protocol)的规范以获取 OBDII 数据。市场上有一些类似 ELM327 的适配器,可以让 iPhone 通过 WLAN 连接到 OBDII 接口(interf
我希望在谷歌地图标记周围制作进度条,如下图所示,或者如何在 map 上的特定位置显示进度条,就像我告诉纬度和经度并显示该位置 最佳答案 在这个短片中,进度标记(标记周围有一系列 8 个圆圈)前进一个表
有谁知道汽车、导航或移动设备对基于触摸屏的无键盘 UI 的需求是否很大? 我知道 Android 是一个非常大、非常流行的平台。 Cocoa Touch 也是如此。 我想要设想的是使用 Java UI
我正在尝试编写一个采用多项式并对其进行化简的程序。每次我运行该程序时,通过调用“(evalexp '( (x 2) (z 8) ) p1)”我都会收到错误消息“Car: + is not a list
使用 jhipster 我创建了运行良好的应用程序,然后我创建了“双向一对多关系”,所有者到汽车。这也工作正常,但我无法弄清楚如何从生成的实体的所有者屏幕中显示所有汽车。如果我选择“车主”,则会从汽车
我一直在使用 Rx 在单个应用程序中创建事件总线(想想 CQRS/ES),它似乎工作得很好。然而,在调查了一堆不同的事件溯源框架之后,我还没有看到使用过一次 Rx。与基于反射/容器的调度程序相比,它似
Android Automotive 中是否存在一种从 OBD2 或 SRS 读取传感器的方法。或者在任何其他汽车 Android 操作系统中。我在 CarSensorManager 中进行了搜索,但
我想知道是否有可能以某种方式确定路由器是否正在改变其位置。我需要知道这一点,因为我正在编写一个将在 WiFi 网络上工作的移动应用程序(连接同一网络上的人/连接到同一路由器)。我知道移动设备可以探索网
我知道这是一个非常开放的问题,但有谁知道我如何确定用户是否乘坐公共(public)交通工具?理想情况下,我会运行一个后台服务,这样只有乘坐公共(public)交通工具的订阅者才能收到我的提醒。 最佳答
我最近开始学习 OOP,这让我很困惑。我想制作 super 汽车和电动或化石汽车作为其子类。 `abstract class Electric extends Car`. 问题是我只想创建 Priva
我做了一个演示项目(来自 github 上的 Moving-MKAnnotationView 演示),用于在 map 上移动汽车,下面是它的链接 https://github.com/pratikbh
我是一名优秀的程序员,十分优秀!