车站信息管理系统(面向对象程序设计python版)

这篇具有很好参考价值的文章主要介绍了车站信息管理系统(面向对象程序设计python版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本概述

1.项目背景

随着大数据时代的发展,大数据抓取了人们最想要的信息,数据查询能帮助用户获取更有用的信息,让每个人都能享受到大数据带给生活的高效和便捷。

2.设计目的

为了大大缩减人们出行选择站点所需时间,为了让人们在陌生地区,在对当地交通不熟的情况下,能有效获取交通站点地址和联系方式等,所以设计了车站信息管理系统,该系统可以方便人们查询某地区车站、火车站、机场和轮渡相关信息。

3.主要工作

设计了简单版的一个车站信息管理系统,使用Python语言开发,先对需求与设计进行分析,然后开始开发项目,即对具体功能代码的实现,主要数据存储,数据格式化,文件操作与管理等技术,最后对功能实现进行在不同情况下多次测试。

解释:面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。

二、需求分析

1.引入库

主要实现车站相关信息的增、删、改、查等功能
主要用到的模块是正则表达式模块re和操作系统模块os
车站信息管理系统(面向对象程序设计python版)

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个主要的功能函数,每个函数对应一种功能。

功能函数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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ASP.NET程序设计课程设计——学生信息管理系统

    点击查看详细信息 ASP.NET程序设计课程设计——学生信息管理系统 一、实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程信息 (4)成绩管理 (5)班级管理 二、实验环境 (1)Windows 10 (2)Visual Studio 2

    2024年02月03日
    浏览(41)
  • Java面向对象编程实战详解(图书管理系统示例)

    Java面向对象编程(Object-Oriented Programming,OOP)是Java语言的核心特性之一,它提供了一种组织代码的方法,将现实世界中的事物抽象为对象,并通过对象之间的交互来构建程序。Java面向对象编程包含以下主要概念: 类和对象(Class and Object): 类是面向对象编程的基本构建块

    2024年02月15日
    浏览(34)
  • C语言程序设计期末大作业(学生信息管理系统)(可自取源码)

    高校学生信息管理系统 (一)在高校学生管理系统中包含九个主要操作: 退出系统; 学生信息的录入; 学生信息的打印; 学生信息的保存; 学生信息的读取; 学生人数的统计; 学生信息的查找; 学生信息的修改; 学生信息的删除。 (二)设计流程 首先确认用switch ca

    2024年02月10日
    浏览(42)
  • 基于微信小程序学生信息管理系统 可做毕业设计参考

    学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但

    2024年02月03日
    浏览(34)
  • 【C++面向对象】C++餐厅点餐管理系统【独一无二】

    👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 使用c++编写一个餐厅点餐管理系统,主要功能如下: 客户点餐功

    2024年02月03日
    浏览(60)
  • 微信小程序毕业设计作品成品(87)微信小程序乡村信息服务管理系统设计与实现

    博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版等

    2024年02月08日
    浏览(36)
  • 微信小程序毕业设计作品成品(79)微信小程序高校校园信息管理系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(36)
  • 【附源码】Java计算机毕业设计个人信息管理系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: java+ mybatis + Maven等等组成,B/S模式 + Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2

    2024年02月04日
    浏览(39)
  • 10.Java程序设计-基于SSM框架的微信小程序家教信息管理系统的设计与实现

    摘要是论文的开篇,用于简要概述研究的目的、方法、主要结果和结论。以下是一个简化的摘要示例,你可以根据实际情况进行修改和扩展: 摘要 随着社会的发展和教育需求的增长,家教服务作为一种个性化的学习方式受到了广泛关注。为了更好地满足家教市场的需求,本

    2024年02月03日
    浏览(43)
  • 【附源码】Java计算机毕业设计基于小程序的宠物信息管理系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: java+ mybatis + Maven等等组成,B/S模式 + Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包