当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·温州期中) 为了让乘客实时掌握公交到站时间,提高乘客的出行体验,某公交公司开发了一款小程序,其主 要功能有:乘客输入当前时刻和上下站点序号,可以查询到最近到达班次、候车时间及预计乘车时 间。某线路的部分发车信息存储在文件"gj.csv"中,时刻表如下表所示:

    站点序号

    班次 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

    程序运行效果如图所示:

    1. (1) 如果当前时刻是9:18,从站点4上车,站点10下车,预计乘车用时为分钟。
    2. (2) 实现上述功能的部分程序如下,请在划线处填上合适的代码。

      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)+"分钟。")

微信扫码预览、分享更方便