Python地铁的到站流程及原理(个人理解)

今天坐地铁看着站牌就莫名的想如果用Python写其工作原理

是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解

首先来看看地铁上显示的站牌如下:

就想这首先站点固定的名称固定的站点名称长度可知道,这不是符合列表嘛[第一站,第二站,。。。,最后一站]

把这写站名放入列表中一个for循环自动帮你取每个站名 你可以加入time.sleep来设置每个站的之间的时间,

过长江隧道的时间可以单独加个if判断站名改变默认时间就行,这里还可以通过站名判断是否需要转乘等自行脑部扩展等,

好了说了这么多我写了个简易版没加这么多复杂功能把最原始的一条线运作写出来。

#!/usr/bin/env python
# -*- coding:utf-8 -*- import time all_station =[u"金银滩",u"常青花园",u"长港路",u"汉口火车站",u"范湖",u"王家墩东",
u"青年路",u"中山公园",u"徐礼门",u"江汉路",u"积玉桥",
u"螃蟹岬",u"小龟山",u"洪山广场",u"中南路",u"宝通寺",
u"街道口",u"广埠屯",u"虎泉",u"杨家湾",u"光谷广场",]
light = []
for n in range(len(all_station)):
light.append(0)
Count = 0
for station in all_station:
light[Count]=1
print light
if Count==0:
print u"地铁2号线从{}站出发".format(station),
print u"next station 下一站{}".format(all_station[Count + 1])
else:
print u"{}已到站".format(station),
if Count+1==len(all_station):
print u"last station 终点站{}".format(station)
break
time.sleep(3)
print u"next station 下一站{}".format(all_station[Count + 1])
light[Count]=0
time.sleep(3)
Count+=1

import 导入时间模块time

all_station所有站名用列表还有个好处就是后期还可以在扩展延长线路名称

light 表示每个站点下面的等显示这里我简单用0,1判断 0表示默认不亮,1表示到了哪一站亮的灯

第一个for循环是初始化所有的灯也是列表list同样好随着站扩展

接下来for循环是从所有的站点开始循环读取站名等同于地铁到站的流程

Count的设计是来表示计数同时来显示到了哪一站所亮的灯是哪一个

来看看代码最终的效果如下:

由于屏幕有限只能显示这么多。。。。。

Python写地铁的到站的原理简易版的更多相关文章

  1. python【项目】:选课系统【简易版】

    功能要求 角色:学校.学员.课程.讲师要求:1. 创建学校2. 创建课程3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. ...

  2. Python写各大聊天系统的屏蔽脏话功能原理

    Python写各大聊天系统的屏蔽脏话功能原理 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时 ...

  3. python写红包的原理流程包含random,lambda其中的使用和见简单介绍

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  4. python自动化测试(2)-自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领 ...

  5. Python批量合并处理B站视频

    最近想学习后端,又不想花钱,怎么办呢?于是在手机端B站(哔哩哔哩)上面找到了满意的免费视频教程,但是手机端看起来很不方便啊.于是,我通过在手机端缓存下来后,导入到了电脑端,但是我后面了发现两个问题: ...

  6. 【Python】如何基于Python写一个TCP反向连接后门

    首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...

  7. 用Python写单向链表和双向链表

    链表是一种数据结构,链表在循环遍历的时候效率不高,但是在插入和删除时优势比较大. 链表由一个个节点组成. 单向链表的节点分为两个部分:存储的对象和对下一个节点的引用.注意是指向下一个节点. 而双向链表 ...

  8. Python写一个自动点餐程序

    Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...

  9. 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载

    <用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...

随机推荐

  1. 基于Angularjs实现分页

    前言 学习任何一门语言前肯定是有业务需求来驱动你去学习它,当然ng也不例外,在学习ng前我第一个想做的demo就是基于ng实现分页,除去基本的计算思路外就是使用指令封装成一个插件,在需要分页的列表页面 ...

  2. uploadify上传错误:uncaught exception: call to startUpload failed原因

    这个不是什么tab的问题,而是可能有多个上传的div或者input(含有相同的name或者ID)导致的 如果有两个不同的上传按钮,那么他们的name,id要设置得不一样. <div id='to ...

  3. AssetsManagerEx 组件使用说明

    原因 在网络上找了一圈也没有找到一个像样的说明.如果不是我们技术组的大大说这个东西可以用我都快放弃了. 稍微阅读了一下这个组件的源代码.发现该有的功能都有(如下所列). 其实最初吸引我们用这个东西的功 ...

  4. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

    在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...

  5. oracle与sqlserver部分区别

    oracle和sqlserver的区别:1,执行修改操作要接commit,不然数据仅仅只是查看,并不是提交数据2,oracle不能使用select 字段 这种查看方式查看数据:3,oracle存储过程 ...

  6. [示例] Firemonkey 不规则按钮实做

    利用 Firemonkey 控件的组合及可塑性,可以做出千变万化的效果及功能,下面展示一个不规则按钮的实做: 效果图: 实做方法: 开一个新工程 Multi-Device Application 放一 ...

  7. Difficult Melody(映射)

    题目链接 http://vjudge.net/contest/137242#problem/D Description You're addicted to a little game called ...

  8. JMeter专题系列(六)集合点

    JMeter也有像LR中的集合点: JMeter里面的集合点是通过添加定时器来完成. 注意:集合点的位置一定要在Sample之前. 集合点:虽然我们的“性能测试”理解为“多用户并发测试”,但客观上来说 ...

  9. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q121-Q123)

    Question  121 You are designing a SharePoint 2010 workflow that will be used to monitor invoices. Th ...

  10. IOS开发基础知识--碎片48

    1:Assertion failure in dequeueReusableCellWithIdentifier:forIndexPath:  static NSString *CellIdentif ...