当前位置: 高中信息技术 / 综合题
  • 1. (2022·温州模拟) 为鼓励绿色出行,某市推出了优惠方案:乘一次地铁后可以获得一张优惠券,在有效期45分钟内(含)可免费搭乘一次公交车。 有效期指乘公交车与乘地铁的开始时刻之差。搭乘公交车时,可以使用优惠券则一定会使用,如果有多张优惠券满足条件,则优先消费获得最早的优惠券。有人用Python编写程序计算出行的费用。他的某次出行过程如图a所示,程序运行结果如图b所示。

    请回答下列问题:

    1. (1) 请在划线处填入合适的代码。

      def Ctime(t):

          #自定义函数Ctime功能为将时间转为分钟计存入变量s,代码略。

          return S

      读取出行记录,存储在列表a中,a[i][0]、a[i][1]、a[i][2]依次存储交通工具类型、票价、乘坐开始时刻。交通工具类型a[i][0]值为0表示地铁,1表示公交车。代码略。

      n = len(a)

      for i in range(n):

          a[i][2] = Ctime(a[i][2])

      for i in range(n - 1):

          for j in range(n - 1, i, -1):

              if 

                  a[j], a[j - 1] = a[j - 1],a[j]

      #输出出行记录,代码略。

      total = 0

      head=tail=0

      q = [-1]*n

      for i in range(n)

          if a[i][0]==0

              total+= a[i][1]

                ①  

               tail+= 1

          else:

              while head < tail and q[head] < a[i][2] - 45:

                 head += 1

              if    ② 

                 total += a[i][1]

              else:

                 print(a[i][2], "时刻使用了优惠券")

                   ③  

      print("总共花费为:", total)

    2. (2) 程序中加框处代码有错,请改正。
    3. (3) 该程序主要应用的数据结构类型是(选填:队列/栈/链表/二叉树)。

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