Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
python实战项目火车票_创想鸟

python实战项目火车票

火车票预订系统可实现乘客登录、查询时刻表、预订、查看预订、退票等功能。系统使用字典存储乘客信息,列表存储列车时刻表和预订记录。函数定义用于处理不同操作,遵循输入-处理-输出结构。流程图示出乘客登录/注册、查询、预订、查看记录、退票等步骤,示例代码提供了部分具体实现。

python实战项目火车票

Python 实战项目:火车票预订系统

火车票预订是生活中常见的场景。我们可以利用 Python 编写一个火车票预订系统,实现便捷的购票体验。

系统功能

乘客登录和注册查询列车时刻表预订火车票查看预订记录退票

实现原理

立即学习“Python免费学习笔记(深入)”;

1. 数据结构:

使用字典存储乘客信息,键为用户名,值为乘客数据(姓名、身份证号等)。使用列表存储列车时刻表,其中每个元素代表一班列车的信息(出发站、到达站、出发时间、到达时间、票价等)。使用列表存储预订记录,每个元素代表一次预订的信息(乘客姓名、身份证号、列车名、出发站、到达站、订票时间等)。

2. 函数:

定义用于乘客登录、注册、查询时刻表、预订火车票、查看预订记录、退票等功能的函数。每个函数都遵循输入、处理、输出的结构,输入需要的参数,处理逻辑并返回结果。

流程图:

开始↓乘客登录/注册↓查询列车时刻表↓选择列车↓预订火车票↓查看预订记录↓退票(可选)↓结束

示例代码:

# 乘客信息passengers = {}# 列车时刻表schedule = [    {"origin": "北京", "destination": "上海", "departure": "08:00", "arrival": "12:00", "price": 500},    {"origin": "上海", "destination": "广州", "departure": "10:00", "arrival": "14:00", "price": 600},]# 预订记录bookings = []# 乘客登录def login(username):    if username in passengers:        return passengers[username]    else:        return None# 查询时刻表def get_schedule(origin, destination):    for train in schedule:        if train["origin"] == origin and train["destination"] == destination:            return train    return None# 预订火车票def book_ticket(passenger, train):    booking = {        "passenger": passenger["name"],        "id_number": passenger["id_number"],        "train": train["name"],        "departure": train["origin"],        "arrival": train["destination"],        "time": datetime.now(),    }    bookings.append(booking)# 查看预订记录def get_bookings(passenger):    return [booking for booking in bookings if booking["passenger"] == passenger["name"]]# 退票def cancel_booking(booking):    bookings.remove(booking)

通过合理的数据结构、函数定义和流程设计,我们可以用 Python 实现一个功能完整的火车票预订系统。

以上就是python实战项目火车票的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1350058.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
python自动抢购编程
上一篇 2025年12月13日 13:55:27
python爬虫零基础教程
下一篇 2025年12月13日 13:55:42

相关推荐

  • Sublime多语言支持 Sublime配置不同编程语言环境

    Sublime多语言支持 Sublime配置不同编程语言环境Sublime多语言支持 Sublime配置不同编程语言环境Sublime多语言支持 Sublime配置不同编程语言环境Sublime多语言支持 Sublime配置不同编程语言环境

    Sublime Text在多语言支持方面,其实它本身就是个“多面手”。它不像某些IDE那样,一上来就给你预设了一堆环境,而是通过其强大的扩展性和灵活的配置,让你根据需要去“武装”它,把它打造成一个能处理各种编程语言的个性化利器。对我来说,Sublime的魅力就在于这种高度的定制化,它像一块空白画布,…

    2026年10月1日 • 用户投稿
    100
  • 如何收集 Maven 项目中使用的所有第三方 Jar 包

    如何收集 Maven 项目中使用的所有第三方 Jar 包如何收集 Maven 项目中使用的所有第三方 Jar 包如何收集 Maven 项目中使用的所有第三方 Jar 包如何收集 Maven 项目中使用的所有第三方 Jar 包

    本文将介绍如何利用 Maven 提供的强大功能,轻松获取项目中所有第三方 Jar 包的列表。 Maven 是一个强大的项目管理工具,它可以帮助我们管理项目的依赖关系。当我们构建一个复杂的项目时,通常会依赖许多第三方库。了解项目中使用了哪些第三方 Jar 包,对于项目的维护、安全审计和许可证管理至关重…

    2026年10月1日 • 用户投稿
    100
  • 用豆包AI实现Python多进程编程

    用豆包AI实现Python多进程编程用豆包AI实现Python多进程编程用豆包AI实现Python多进程编程用豆包AI实现Python多进程编程

    使用豆包ai辅助python多进程编程的关键在于明确需求并善用其生成代码的能力。多进程主要用于cpu密集型任务,如图像处理、模型推理等,能有效绕过gil限制。要高效使用豆包ai,1. 明确具体需求,如“并行处理多个csv文件”;2. 让ai生成模板代码,并替换为自身逻辑;3. 注意结果返回方式,可用…

    2026年10月1日 • 用户投稿
    100
  • 如何收集 Maven 项目中使用的第三方 JAR 包列表

    如何收集 Maven 项目中使用的第三方 JAR 包列表如何收集 Maven 项目中使用的第三方 JAR 包列表如何收集 Maven 项目中使用的第三方 JAR 包列表如何收集 Maven 项目中使用的第三方 JAR 包列表

    本文将指导你如何使用 Maven 命令来收集项目中所依赖的所有第三方 JAR 包的列表。了解项目依赖关系对于依赖管理、安全审查以及避免潜在的冲突至关重要。Maven 提供了便捷的命令来完成这项任务。 正如文章摘要所述,我们可以利用 Maven 的 dependency:build-classpath…

    2026年10月1日 • 用户投稿
    400
  • 怎样用豆包AI进行特征工程?机器学习数据预处理

    怎样用豆包AI进行特征工程?机器学习数据预处理怎样用豆包AI进行特征工程?机器学习数据预处理怎样用豆包AI进行特征工程?机器学习数据预处理怎样用豆包AI进行特征工程?机器学习数据预处理

    豆包ai虽非专为特征工程设计,但可辅助完成相关任务。1. 可生成python代码模板,如数据清洗、标准化等,提升编码效率;2. 能梳理特征工程流程,包括缺失值处理、特征缩放、分类变量编码等,并解释适用场景;3. 通过输入数据集字段信息,获得特征构造建议,如时间特征、统计特征等;4. 协助整理预处理思…

    2026年10月1日 • 用户投稿
    000
  • 用豆包AI解析Python中的JSONSchema

    用豆包AI解析Python中的JSONSchema用豆包AI解析Python中的JSONSchema用豆包AI解析Python中的JSONSchema用豆包AI解析Python中的JSONSchema

    json schema 是一种用于描述和验证 json 数据结构的工具。1. 它通过定义字段、类型、是否必填等规则确保数据格式一致性;2. 豆包ai可解释其语法、生成模板、辅助调试错误;3. python 中使用 jsonschema 库进行校验,流程包括导入库、定义 schema、准备数据、调用 …

    2026年10月1日 • 用户投稿
    200
  • Sublime代码片段共享 Sublime团队模板同步方案

    Sublime代码片段共享 Sublime团队模板同步方案Sublime代码片段共享 Sublime团队模板同步方案Sublime代码片段共享 Sublime团队模板同步方案Sublime代码片段共享 Sublime团队模板同步方案

    %ignore_a_1% text原生不支持开箱即用的团队协作同步机制,需借助外部工具实现。①核心方案是构建一个中心化的版本控制共享库,存放团队共用的代码片段和模板。②在packages/user目录下创建专门子目录(如teamsnippets)用于存放共享资源。③初始化git仓库并将内容推送到远程…

    2026年10月1日 • 用户投稿
    100
  • Sublime多项目切换 Sublime快速跳转不同工程

    Sublime多项目切换 Sublime快速跳转不同工程Sublime多项目切换 Sublime快速跳转不同工程Sublime多项目切换 Sublime快速跳转不同工程Sublime多项目切换 Sublime快速跳转不同工程

    sublime text通过项目文件和快捷键实现高效多项目切换与文件跳转。1. 创建项目:使用file -> open folder…打开文件夹并通过project -> save project as…保存为.sublime-project文件,同时生成记录会话…

    2026年10月1日 • 用户投稿
    200
  • 如何接入ChatGPT的API服务 使用Python调用ChatGPT API的完整指南

    如何接入ChatGPT的API服务 使用Python调用ChatGPT API的完整指南如何接入ChatGPT的API服务 使用Python调用ChatGPT API的完整指南如何接入ChatGPT的API服务 使用Python调用ChatGPT API的完整指南如何接入ChatGPT的API服务 使用Python调用ChatGPT API的完整指南

    接入chatgpt的api服务其实并不难,前提是具备一定的python基础并遵循官方文档指引。1. 首先注册openai账号并获取api key,这是访问api的身份凭证,建议使用环境变量管理以增强安全性,并可为不同项目创建多个key以便权限控制;2. 接着安装openai的python客户端库,通…

    2026年10月1日 • 用户投稿
    200
  • Gemini支持自动化测试脚本生成吗 Gemini测试用例智能编写指南

    Gemini支持自动化测试脚本生成吗 Gemini测试用例智能编写指南Gemini支持自动化测试脚本生成吗 Gemini测试用例智能编写指南Gemini支持自动化测试脚本生成吗 Gemini测试用例智能编写指南Gemini支持自动化测试脚本生成吗 Gemini测试用例智能编写指南

    许多测试工程师和开发者都关心像Gemini这样的大型语言模型是否能够胜任自动化测试脚本的生成工作。答案是肯定的,Gemini凭借其强大的自然语言理解和代码生成能力,可以成为测试流程中一个高效的辅助工具。本文将详细介绍如何利用Gemini来智能编写测试用例,并逐步引导您完成从需求描述到脚本生成的全过程…

    2026年10月1日 • 用户投稿
    100
  • Sublime插件推荐2025年度榜单|程序员人手必备扩展合集

    Sublime插件推荐2025年度榜单|程序员人手必备扩展合集Sublime插件推荐2025年度榜单|程序员人手必备扩展合集Sublime插件推荐2025年度榜单|程序员人手必备扩展合集Sublime插件推荐2025年度榜单|程序员人手必备扩展合集

    sublime text 必装插件包括package control、emmet、sidebarenhancements、gitgutter、colorpicker、docblockr、advancednewfile和find++。package control是插件管理基础工具;emmet提升ht…

    2026年10月1日 • 用户投稿
    100
  • Sublime高效处理金融数据脚本示例_适用于回测与可视化分析

    Sublime高效处理金融数据脚本示例_适用于回测与可视化分析Sublime高效处理金融数据脚本示例_适用于回测与可视化分析Sublime高效处理金融数据脚本示例_适用于回测与可视化分析Sublime高效处理金融数据脚本示例_适用于回测与可视化分析

    要高效使用sublime text进行金融数据处理,关键在于配置python环境并结合其轻量高效的编辑功能。具体步骤如下:1. 安装python及必要库,如pandas、numpy、matplotlib、mplfinance等;2. 配置自定义python构建系统,通过json设置指定解释器和编码;…

    2026年10月1日 • 用户投稿
    300
  • Sublime结合外部终端工具优化效率|提升脚本调试与运行体验

    Sublime结合外部终端工具优化效率|提升脚本调试与运行体验Sublime结合外部终端工具优化效率|提升脚本调试与运行体验Sublime结合外部终端工具优化效率|提升脚本调试与运行体验Sublime结合外部终端工具优化效率|提升脚本调试与运行体验

    sublime text 默认控制台无法满足复杂脚本运行需求,因其不支持交互输入、输出易被截断且调试体验差。1. 可选择适配系统的终端工具:windows 用 windows terminal 或 conemu,macos/linux 用自带终端或 iterm2/tilix,跨平台可选 vscode…

    2026年10月1日 • 用户投稿
    600
  • rpa文件解包_py封装exe

    rpa文件解包_py封装exerpa文件解包_py封装exerpa文件解包_py封装exerpa文件解包_py封装exe

    大家好,我是你们的朋友全栈君。今天我们来详细讲解如何使用cxfreeze将python文件打包成exe文件。请务必阅读完整个教程,确保掌握所有步骤。 当前环境是Play_Craw,执行pip install cx-freeze命令时,cxfreeze会安装到C:UsersxiaosalangAnac…

    2026年9月30日 • 用户投稿
    300
  • Sublime构建云函数项目结构教程_适配Serverless架构与弹性计算任务

    Sublime构建云函数项目结构教程_适配Serverless架构与弹性计算任务Sublime构建云函数项目结构教程_适配Serverless架构与弹性计算任务Sublime构建云函数项目结构教程_适配Serverless架构与弹性计算任务Sublime构建云函数项目结构教程_适配Serverless架构与弹性计算任务

    云函数项目结构设计看起来简单,其实直接影响到后续的开发效率和部署稳定性。很多人一开始只是随便放几个文件进去,结果越往后越乱,尤其是对接Serverless架构或弹性计算任务时,结构不合理的问题会集中爆发。所以一开始就规划好结构,是节省时间、减少出错的关键。 这篇文章主要针对使用Sublime Tex…

    2026年9月30日 • 用户投稿
    100
  • Sublime配合Redis实现缓存接口优化_提升请求性能与数据一致性

    Sublime配合Redis实现缓存接口优化_提升请求性能与数据一致性Sublime配合Redis实现缓存接口优化_提升请求性能与数据一致性Sublime配合Redis实现缓存接口优化_提升请求性能与数据一致性Sublime配合Redis实现缓存接口优化_提升请求性能与数据一致性

    接口缓存重要是因为能显著提升系统响应速度并减轻数据库压力。在web开发中,频繁访问数据库会导致性能瓶颈,而缓存机制允许请求从内存中快速获取数据。redis作为内存键值数据库,读写速度快,适合做缓存。1. 使用sublime编写redis缓存逻辑时,可借助redis-py库高效操作缓存,如先查redi…

    2026年9月30日 • 用户投稿
    100
  • sublime如何自定义语法高亮 sublime语法高亮规则的编写技巧

    sublime如何自定义语法高亮 sublime语法高亮规则的编写技巧sublime如何自定义语法高亮 sublime语法高亮规则的编写技巧sublime如何自定义语法高亮 sublime语法高亮规则的编写技巧sublime如何自定义语法高亮 sublime语法高亮规则的编写技巧

    自定义sublime text语法高亮需创建基于yaml的.sublime-syntax文件,通过正则匹配文本并分配作用域实现;2. 文件结构包含name、scope、file_extensions和contexts等关键字段,其中contexts定义匹配规则;3. scope是代码元素的“类型标签…

    2026年9月30日 • 用户投稿
    100
  • 苹果用户DeepSeek安装使用全流程详解

    苹果用户DeepSeek安装使用全流程详解苹果用户DeepSeek安装使用全流程详解苹果用户DeepSeek安装使用全流程详解苹果用户DeepSeek安装使用全流程详解

    苹果用户可在 mac 上本地部署 deepseek,需依次完成以下步骤:1. 确保安装 python 3.10+、homebrew 及 conda;2. 使用 conda 创建虚拟环境并安装 pytorch 和 transformers 库;3. 通过 hugging face 获取模型权重并加载;…

    2026年9月30日 • 用户投稿
    200
  • Sublime书签使用技巧 Sublime快速定位代码位置

    Sublime书签使用技巧 Sublime快速定位代码位置Sublime书签使用技巧 Sublime快速定位代码位置Sublime书签使用技巧 Sublime快速定位代码位置Sublime书签使用技巧 Sublime快速定位代码位置

    sublime text的书签功能高级用法包括结合待办事项标记、多文件协作时的共享标记、临时探索中的回溯应用、以及与宏的结合使用。1. 与待办事项结合:可在需后续处理的代码行设置书签,便于任务切换后快速回顾;2. 多文件协作:通过“全部书签”列表查看所有标记点,方便团队代码评审时沟通;3. 临时探索…

    2026年9月30日 • 用户投稿
    200
  • 从 Apache Flink ML 中提取 LinearSVC 模型系数和截距

    从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距

    本文介绍了如何从 Apache Flink ML 训练的 LinearSVC 模型中提取超平面参数,包括系数和截距。通过提取这些参数,用户可以将模型规则集成到 Flink CEP 的模式匹配 API 中,实现更复杂的流处理逻辑。本文提供了 Python 和 Java 示例代码,帮助用户快速上手。 提…

    2026年9月30日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信