python实现列车管理系统

yizhihongxing

Python实现列车管理系统的攻略如下:

1. 确定需求

我们需要一个列车管理系统,可以进行以下操作:

  • 添加列车信息
  • 查看全部列车信息
  • 按车次查询列车信息
  • 按目的地查询列车信息
  • 按出发时间查询列车信息
  • 修改列车信息
  • 删除列车信息

2. 设计数据结构

为了实现上述需求,我们需要设计一个数据结构来存储列车信息。可以使用Python中的字典来表示一个列车的所有信息,如下所示:

train = {
    'number': 'K1234',      # 车次
    'departure': '北京',   # 出发地点
    'destination': '上海',  # 到达地点
    'departure_time': '08:00',  # 出发时间
    'duration': '10小时30分'    # 预计运行时长
}

为了存储多组列车信息,我们可以使用列表来存储多个字典。

trains = [train1, train2, ...]

3. 编写程序

添加列车信息

def add_train():
    train = {}
    train['number'] = input('请输入车次:')
    train['departure'] = input('请输入出发地点:')
    train['destination'] = input('请输入到达地点:')
    train['departure_time'] = input('请输入出发时间(格式为HH:MM):')
    train['duration'] = input('请输入预计运行时长(如10小时30分):')
    trains.append(train)

    print('添加列车信息成功!')

查看全部列车信息

def show_all_trains():
    for train in trains:
        print('车次:' + train['number'])
        print('出发地点:' + train['departure'])
        print('到达地点:' + train['destination'])
        print('出发时间:' + train['departure_time'])
        print('预计运行时长:' + train['duration'])
        print('----------------------------------')

按车次查询列车信息

def search_by_number():
    number = input('请输入要查询的车次:')
    is_found = False

    for train in trains:
        if train['number'] == number:
            print('车次:' + train['number'])
            print('出发地点:' + train['departure'])
            print('到达地点:' + train['destination'])
            print('出发时间:' + train['departure_time'])
            print('预计运行时长:' + train['duration'])
            print('----------------------------------')
            is_found = True

    if not is_found:
        print('未找到相应的列车信息!')

按目的地查询列车信息

def search_by_destination():
    destination = input('请输入要查询的目的地:')
    is_found = False

    for train in trains:
        if train['destination'] == destination:
            print('车次:' + train['number'])
            print('出发地点:' + train['departure'])
            print('到达地点:' + train['destination'])
            print('出发时间:' + train['departure_time'])
            print('预计运行时长:' + train['duration'])
            print('----------------------------------')
            is_found = True

    if not is_found:
        print('未找到相应的列车信息!')

按出发时间查询列车信息

def search_by_departure_time():
    departure_time = input('请输入要查询的出发时间(格式为HH:MM):')
    is_found = False

    for train in trains:
        if train['departure_time'] == departure_time:
            print('车次:' + train['number'])
            print('出发地点:' + train['departure'])
            print('到达地点:' + train['destination'])
            print('出发时间:' + train['departure_time'])
            print('预计运行时长:' + train['duration'])
            print('----------------------------------')
            is_found = True

    if not is_found:
        print('未找到相应的列车信息!')

修改列车信息

def modify_train():
    number = input('请输入要修改的列车的车次:')
    is_found = False

    for train in trains:
        if train['number'] == number:
            train['departure'] = input('请输入修改后的出发地点:')
            train['destination'] = input('请输入修改后的到达地点:')
            train['departure_time'] = input('请输入修改后的出发时间(格式为HH:MM):')
            train['duration'] = input('请输入修改后的预计运行时长(如10小时30分):')
            print('修改列车信息成功!')
            is_found = True

    if not is_found:
        print('未找到相应的列车信息!')

删除列车信息

def delete_train():
    number = input('请输入要删除的列车的车次:')
    is_found = False

    for train in trains:
        if train['number'] == number:
            trains.remove(train)
            print('删除列车信息成功!')
            is_found = True

    if not is_found:
        print('未找到相应的列车信息!')

4. 示例说明

示例一

执行以下代码可以添加一组列车信息,并查看全部列车信息:

add_train()
show_all_trains()

输出结果如下:

请输入车次:K123
请输入出发地点:上海
请输入到达地点:北京
请输入出发时间(格式为HH:MM):09:00
请输入预计运行时长(如10小时30分):11小时30分
添加列车信息成功!
车次:K123
出发地点:上海
到达地点:北京
出发时间:09:00
预计运行时长:11小时30分
----------------------------------

示例二

执行以下代码可以修改已有列车信息:

show_all_trains()  # 显示所有列车信息
modify_train()  # 修改列车信息
show_all_trains()  # 显示所有列车信息

输出结果如下:

车次:K123
出发地点:上海
到达地点:北京
出发时间:09:00
预计运行时长:11小时30分
----------------------------------
请输入要修改的列车的车次:K123
请输入修改后的出发地点:北京
请输入修改后的到达地点:上海
请输入修改后的出发时间(格式为HH:MM):10:00
请输入修改后的预计运行时长(如10小时30分):10小时30分
修改列车信息成功!
车次:K123
出发地点:北京
到达地点:上海
出发时间:10:00
预计运行时长:10小时30分
----------------------------------

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现列车管理系统 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 详解Python PIL ImagePath.Path.getbbox()方法

    Python中的PIL模块是个非常有用的模块,提供了很多处理图像的方法和工具。在该模块中,ImagePath是其中的一个子模块,该子模块提供了一类可用于解析和操作路径的类,路径可以是 SVG 路径或者 W3C-path-data 。 ImagePath.Path.getbbox()方法是ImagePath.Path类的其中一个方法,它用于返回符合路径描边的最…

    python-answer 2023年3月25日
    00
  • Python检测字符串中是否包含某字符集合中的字符

    要检测Python字符串中是否包含某个字符集合中的字符,可以使用Python中的in运算符和列表功能。 以下是实现此操作的步骤: 1.创建一个字符集合列表,将要检测的字符作为列表项 2.使用Python字符串中的in运算符来检测该字符是否在列表中,如果是,程序返回True,如果不是,则返回False 下面是使用Python代码实现上述操作的示例: # 创建一…

    python 2023年5月13日
    00
  • python实现简单的超市商品销售管理系统

    Python实现简单的超市商品销售管理系统 概述 本教程将介绍如何使用Python实现简单的超市商品销售管理系统。此系统具有以下功能: 用户登录:用户可以使用用户名和密码进行登录,并可以选择使用管理员或销售员权限。 仓库管理:管理员可以添加、删除和修改商品信息,包括商品名称、价格、数量和保质期。 商品销售:销售员可以检索商品信息,选择要购买的商品和数量,并生…

    python 2023年5月30日
    00
  • Python入门开发教程 windows下搭建开发环境vscode的步骤详解

    Python入门开发教程 Windows下搭建开发环境VSCode的步骤详解 概述 Python是一种非常流行的编程语言,因其简单易学、功能强大等优点,受到广泛的关注和使用。在开发Python应用程序时,需要搭建相应的开发环境,VSCode是一种非常流行的集成开发环境,下面将介绍在Windows下,如何搭建Python开发环境并使用VSCode进行Pytho…

    python 2023年5月30日
    00
  • Linux低电量自动关机的实现方法

    Linux低电量自动关机的实现方法 在Linux系统中,自动关机是系统管理员需要考虑的一个重要问题。针对低电量自动关机问题,我们可以采取以下方法: 方法一:通过设置ACPI ACPI是高级配置与电源管理接口,它可以用于控制计算机的电源管理。我们可以通过设置ACPI参数实现低电量自动关机。 具体步骤如下: 打开终端,使用如下命令编辑/etc/acpi/even…

    python 2023年6月3日
    00
  • Python+matplotlib实现折线图的美化

    下面是Python+matplotlib实现折线图的美化的完整攻略。 一、什么是matplotlib? matplotlib是一个Python数据可视化库,它可以用于许多类型的图形绘制。matplotlib的绘图风格高紧凑,同时也支持复杂图形的绘制,如子图、动画和3D绘图。由于它易于使用和集成到其他Python库中,因此在数据可视化领域中得以广泛使用。 二、…

    python 2023年5月19日
    00
  • Python urlencode和unquote函数使用实例解析

    在Python中,urlencode()和unquote()是用于URL编码和解码的函数。urlencode()函数将字典或元组转换为URL编码字符串,unquote()函数将URL编码字符串解码为原始字符串。以下是Python urlencode()和unquote()函数的详细攻略: urlencode()函数 urlencode()函数将字典或元组转换…

    python 2023年5月14日
    00
  • python memory_profiler库生成器和迭代器内存占用的时间分析

    Python是一种动态语言,其内存管理机制相较于其他静态语言有着很大的不同。在Python编程过程中,一些常见的内存问题比如内存泄露、内存瓶颈等都是需要我们及时发现和解决的问题。为了解决这些问题,我们需要查看内存占用和使用情况。这个时候,memory_profiler库就可以派上用场了。 memory_profiler 是一个用于 Python 的内存分析工…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部