程序要求如下:
这是一个公交换乘题目, 目的是当用户输入起始站和终点站程序能够在公交车站库中搜索出一条换乘的线路。
例如公交车站的数据库如下
375:西直门,文慧桥,蓟门桥,学院路,知春路
562:蓟门桥,学院路,中关村
387:学院路,北京西站
例如当用户输入:
起点站:西直门
终点站:中关村
程序能 找到: 375---换乘 蓟门桥,学院路(562)----中关村
程序大概的思路如下:
1.将含有起始站的公交路线放进一个列表当中。
2.将含有终点站的公交路线放进一个列表当中。
3.找出起始站和终点站的两个列表中相同的站点就是我们需要换乘的车站。
4.输出起始站 中转站 终点站 (路线图就出来了!!)
代码:
#/usr/bin/env python
#coding=utf-8a = raw_input('请输入起始站:')
b = raw_input('请输入终点站:')
file = open('luxian.txt','r+')
data = file.readlines() #读取文件当中储存的公交路线信息
file.close()
star = []
end = []
for n in data:
if n.find(a) > 0:
star.append(n) #循环添加起始站列表
#print star
if n.find(b) > 0:
end.append(n)#循环添加终点站列表
#print end
for l1 in star:
#print l1
l2 = l1.split(':')[1].split(',')#将起始站的每一个站用‘,’分隔成每一站与下面的终点站循环比较
#print len(l2)
#l2 [375,"xizhimen,zhongguancun,zhichu"]
for l4 in end:
l5 = l4.split(':')[1].split(',')#同上
#print len(l5)
s = set(l2) & set(l5)
#print s
for s1 in s:
print a + '到',s1,'到' + b
几十行代码 程序是一个公交车换乘系统 程序很简单 但是会很有用的 有什么问题欢迎打两个字交流一下 我在课堂上对两次for循环难理解 如果输出乱码的话有可能是编辑器的问题