站点序号 | 班次 1 | 班次 2 | 班次 3 | 班次 4 | 班次 5 |
1 | 7:20 | 8:00 | 8:30 | 9:00 | 9:30 |
2 | 7:24 | 8:06 | 8:38 | 9:05 | 9:38 |
3 | 7:28 | 8:13 | 8:48 | 9:15 | 9:44 |
4 | 7:32 | 8:15 | 8:54 | 9:20 | 9:50 |
5 | 7:35 | 8:17 | 9:00 | 9:24 | 10:00 |
6 | 7:37 | 8:20 | 9:05 | 9:28 | 10:17 |
7 | 7:40 | 8:24 | 9:13 | 9:30 | 10:25 |
8 | 7:43 | 8:28 | 9:18 | 9:40 | 10:35 |
9 | 7:50 | 8:30 | 9:25 | 9:43 | 10:55 |
10 | 8:00 | 8:40 | 9:40 | 10:00 | 11:09 |
程序运行效果如图所示:
import csv
f=open("gj.csv","r")
f_csv=csv.reader(f)
time= []
for row in f_csv :
time.append(row)
def change(times): #转换时间的单位为分钟,参数 times 如“6:00”
#times.split(':')表示将字符串 times 按照':'进行分割,返回结果为列表
hours=times.split(' :') [0]
minutes=times.split(' :')[1]
res=①
return res
for i in range(1,len(time)): #将公交时间表中的时刻统一转为分钟单位
for j in range(1,len(time[i])) :
time[i] [j]=change(time[i][j])
now=change(input("乘客您好!请输入当前时刻:"))
p1=int(input("请输入上车站点:"))
p2=int(input("请输入下车站点:"))
n=len(time[0])-1
min=time[p1][1]-now
k=1
for i in range(②):
if time[p1] [i]-now< min or ③ :
min= time[p1][i]-now
k=i
tot=④
print( "最近到站的公交为第"+str(k)+"班次,候车时间为"+str(min)+"分钟,预计您的乘车用时为 "+str(tot)+"分钟。")