【python项目】扩展---公交换乘

来源:互联网 发布:hadoop2.6 windows 编辑:程序博客网 时间:2024/04/30 11:04
  1. 项目要求:用户输入起点,再输入终点站。 我们程序根据 公交站的字典查找到换乘的位置。
  2. 我们程序要:提示 换乘站 和换乘路线。
  3. 公交数据库如下:
  1. 375:西直门,文慧桥,蓟门桥,学院路,知春路
  2. 562:蓟门桥,学院路,中关村
  3. 387:学院路,北京西站
  1. jiangning@jiangning-Ideapad-Z460:~$ more bus.txt
  2. 375:西直门,文慧桥,蓟门桥,学院路,知春路
  3. 562:蓟门桥,学院路,中关村
  4. 387:学院路,北京西站
  5. jiangning@jiangning-Ideapad-Z460:~$ python change.py
  6. 请输入起始站:西直门
  7. 请输入目标站:中关村
  8. find 西直门 -- 蓟门桥 --中关村
  9. find 西直门 -- 学院路 --中关村
  10. jiangning@jiangning-Ideapad-Z460:~$ python change.py
  11. 请输入起始站:西直门
  12. 请输入目标站:北京西站
  13. find 西直门 -- 学院路 --北京西站

支持多路换乘的例子:

  1. dict_and={"375":["345","123","432"],"345":["23","32"],"123":["1","2"],"23":["3","4"],"3":["5","6"]}
  2. findit = 0
  3. changeno = ""
  4. def find(n,end):
  5. global findit,changeno
  6. if dict_and.has_key(n):
  7. l_n = dict_and[n]
  8. else:
  9. return
  10. for n1 in l_n:
  11. if n1 == end :
  12. print n1
  13. findit = 1
  14. changeno = n
  15. return
  16. else:
  17. find(n1,end)
  18. if changeno == n1:
  19. print n1
  20. changeno = n
  21. findit = 0
  22. find("375","5")
  23. changeno = ""
  24. findit = 0
  25. find("375","6")
  26. changeno = ""
  27. findit = 0
  28. find("375","3")

公交数据下载

http://mobile.8684.cn/down