用Python制作长春地铁八号线,输出时间和站点

用Python制作长春地铁八号线,输出时间和站点

菜鸟一枚,如大佬有更好的方式和想法可以指导一下

print("输入 : 时请用英文输入法写 : ,不然会出错")
print("例如:你从哪个地方上地铁:小南站")
print("例如:你到哪个站:北湖公园")
print("例如:请输入你的上车时间:10:22")
print("")
import random  #导入随机库
print('                          长春地铁八号线                        ')
print("'北环城路站','一二三中学站','小南站','小城子街站','北湖大桥站','北湖公园站','和安街站','光机路站','大学城路站','地理所站','奥林匹克公园站','广通路站'")
Enter_Station=input('你从哪个地方上地铁:')
Out_Station=input('你到哪个站:')
Time_to_enter=input('请输入你的上车时间:')
Enter=Enter_Station    
Out=Out_Station       
#长春八号线
Changchun_Line_8=['北环城路站','一二三中学站','小南站','小城子街站','北湖大桥站','北湖公园站','和安街站','光机路站','大学城路站','地理所站','奥林匹克公园站','广通路站']
x = Changchun_Line_8.index(Enter)  # 入站地铁索引
y = Changchun_Line_8.index(Out)  # 出站地铁索引
z=x     #将X值存入Z中 下面for 循环使用
a=y-x   # a 中途经过几站 为下面for循环使用
def calculate_time(Time_to_enter):     #计算时间函数。并用return函数方式输出
   
        Hour_Branch= Time_to_enter.split(":")     #将输入的时间以:分开
        Hour_and_Branch = [int(j) for j in Hour_Branch]
        Hour=Hour_and_Branch[0]      #小时
        Branch=Hour_and_Branch[1]    #分钟
        Next_Branch=Branch+Each_time    #初试时间+坐车时间
        if Next_Branch>60:
            Hour=Hour+1
            Next_Branch=Next_Branch-60
        elif Next_Branch==60:
            Hour = Hour + 1
            Next_Branch=0
        else:
            pass
        word='{}:{}'
        return(word.format(Hour,Next_Branch))

def Time_to_each_Station(Enter_Station,Out_Station):
    My_answer="'{}到达{}'"
    return (My_answer.format(calculate_time(Time_to_enter),Changchun_Line_8[z+1]))  #将时间和各个站显示出来

for i in range(a):    #for循环,将经过几站(a)循环打印出来
    Each_time = random.randint(5, 10)  #随机生成时间 用于函数 calculate_time() 计算
    print(Time_to_each_Station(Enter_Station,Out_Station))  #调用函数,打印输出时间+站点
    z=z+1   #到达站点索引+1,改变下次输出索引
    Time_to_enter=calculate_time(Time_to_enter) #将入站时间改为到达站点时间,调用函数计算下一次到达站点的时间
    
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值