一、基本概述
1.项目背景
随着大数据时代的发展,大数据抓取了人们最想要的信息,数据查询能帮助用户获取更有用的信息,让每个人都能享受到大数据带给生活的高效和便捷。
2.设计目的
为了大大缩减人们出行选择站点所需时间,为了让人们在陌生地区,在对当地交通不熟的情况下,能有效获取交通站点地址和联系方式等,所以设计了车站信息管理系统,该系统可以方便人们查询某地区车站、火车站、机场和轮渡相关信息。
3.主要工作
设计了简单版的一个车站信息管理系统,使用Python语言开发,先对需求与设计进行分析,然后开始开发项目,即对具体功能代码的实现,主要数据存储,数据格式化,文件操作与管理等技术,最后对功能实现进行在不同情况下多次测试。
解释:面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。
二、需求分析
1.引入库
主要实现车站相关信息的增、删、改、查等功能
主要用到的模块是正则表达式模块re和操作系统模块os
2.功能清单
a. 录入车站相关信息:
1)输入车站信息,包括车站名称,所属地区,联系电话,具体地址,行政区划代码,
输入格式正确则按行保存数据到文件中。
2)如果输入格式错误,则抛出异常,捕获异常,打印’输入无效’。
3)输入错误可重新输入,输入正确可以继续添加,也可以结束程序。
b. 查找车站相关信息:
1)选择查找的方式,输入查找信息。
2)找到则显示查询结果,没找到则打印’无相关信息’。
c. 删除车站相关信息:
1)当车站信息为空时,打印’车站信息还未录入’,当车站信息不为空时,可输入正确 车站名称可删除对应数据。
2)如果输入车站名称错误,则打印’没有找到该名称的车站信息’。
d. 修改车站相关信息:
1)先显示全部车站信息,输入要修改的车站名称 。
2)输入车站存在且输入格式正确即可修改数据,输入错误,则不修改任何数据。
e. 对车站信息进行排序:
1)先显示全部车站信息,选择升序或降序排序。
2)选择排序方式即可对信息进行重新排序。
f. 统计车站的总数量:
1)输入对应的菜单项,可打印出车站的总数量,方便统计。
g. 显示所有车站信息:
1)输入对应菜单项,显示全部信息,方便用户查找需要的内容。
h. 退出系统:
1)输入对应菜单项,可结束进程,退出系统。
程序设计
函数设计
主函数:
def main():
ctrl = True # 标记是否退出系统
while ctrl:
menu() # 显示菜单
option = input("请选择菜单项:") # 选择菜单项
option_str = re.sub(r"\D", "", option) # 把非数字替换掉,提取数字
if option_str in ['0', '1', '2', '3', '4', '5', '6', '7']:
option_int = int(option_str)
if option_int == 0: # 退出系统
print('您已退出车站信息管理系统!')
ctrl = False
elif option_int == 1: # 录入车站相关信息
insert()
elif option_int == 2: # 查找车站相关信息
search()
elif option_int == 3: # 删除车站相关信息
delete()
elif option_int == 4: # 修改车站相关信息
modify()
elif option_int == 5: # 对车站信息进行排序
sort()
elif option_int == 6: # 统计车站的总数量
total()
elif option_int == 7: # 显示所有车站信息
show()
else:
print("你输入的数字不在功能菜单(0 ~ 7)范围内!")
数据存储设计
1)先建立一个空列表,把录入的数据保存到一个字典中,再把字典添加到这个空列表中。
2)利用for循环从列表中把每一个字典提出来,以追加模式写入文件,添加换行符,按行存储。
3)如果文件不存在用写入模式,创建并打开文件,然后再进行2)中的操作。
开发
编写代码
这部分为7个部分,对应7个主要的功能函数,每个函数对应一种功能。文章来源:https://www.toymoban.com/news/detail-472121.html
功能函数1:录入文章来源地址https://www.toymoban.com/news/detail-472121.html
# 1 录入车站相关信息
def insert():
station_list = [] # 保存车站信息的列表,保存字典到这个列表
mark = True # 是否继续添加
while mark:
sta_name = input("请输入车站名称:")
if not sta_name: # 名称为空,跳出循环
break
sta_area = input("请输入地区(如 鲤城区/县):")
if not sta_area: # 地区为空,跳出循环
break
sta_address = input("请输入车站具体地址:")
if not sta_address: # 地址为空,跳出循环
break
try:
sta_division_code = int(input("请输入车站对应县(区)行政区划代码:"))
sta_telephone = int(input("请输入联系电话:"
到了这里,关于车站信息管理系统(面向对象程序设计python版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!