jeapedu 109 字典:公交查詢05 兩次換乘線路

链接: https://pan.baidu.com/s/1Ws2bzV0x_NoXbEB4ImeTMQ 密码: g6ny

r1 = "aa bb cc uu dd yy gg"
r2 = "tt yy ww mm p1 ee hh"
r3 = "pp ss cc mm nn ee"
bn = "bb"
en = "ee"
rd1 = r1.split()
rd2 = r2.split()
rd3 = r3.split()
d = []
d.append(rd1)
d.append(rd2)
d.append(rd3)
print("road 0", rd1)
print("road 1", rd2)
print("road 2", rd3)

def findExchange(r1, r2):
    li = []
    for x in r1:
        if x in r2:
            ex1 = r1.index(x)
            ex2 = r2.index(x)
            temp = x, ex1, ex2
            li.append(temp)
    return li
'''
print("++rd1+rd2++rd3+++++")
print(findExchange(rd1, rd2))
print(findExchange(rd2, rd3))
print("----rd1-be-----")
print(findExchange(rd1, [bn, en]))
print("----rd2-be-----")
print(findExchange(rd2, [bn, en]))
print("----rd3-be-----")
print(findExchange(rd3, [bn, en]))
print("///")
'''
i = 0
b = []                          # 記錄那條線路有起點
e = []                          # 記錄那條線路有終點
for dr in d:
    px = findExchange(dr, [bn, en])
    #print("px ->", px, px[0], px[0][0])
    for p in px:
        if p[0] == "bb":
            b.append(i)
        if p[0] == "ee":
            e.append(i)
    i += 1
print("begin in rd", b, ", end in rd", e)
print("--------how many exchange?---------")
for begin in b:
    for end in e:
        #print(begin, end, end=' ')
        ret = findExchange(d[begin], d[end])
        #print(ret)
        if len(ret) >= 1:                   # 大於1代表兩條線路有多個公共站
            print("need exchange once,", "exchange at", ret)
        if len(ret) == 0:
            print("need exchange twice", "exchange at")
            ret1 = findExchange(d[begin], d[3 - begin - end])
            ret2 = findExchange(d[end], d[3 - begin - end])
            print(ret1, ret2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值