• Python写地铁的到站的原理简易版


    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的设计是来表示计数同时来显示到了哪一站所亮的灯是哪一个 

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

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

  • 相关阅读:
    回调函数
    未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
    顶帽变化(转载)
    协程 + asyncio
    docker
    vue+uwsgi+nginx部署前后端分离项目
    html
    关于html的基础标签
    关于python中的GIL
    hashlib模块
  • 原文地址:https://www.cnblogs.com/cookie1026/p/6069155.html
Copyright © 2020-2023  润新知