当前位置: 高中信息技术 / 综合题
  • 1. (2024高二下·嘉兴期中)  某网约旅游小巴士,核载乘客m人(不算司机),途径n个景点(编号从1到n),小巴士从1号景点向n号景点行驶,中途不改变方向。游客提供订单号,由3个数字组成分别是:乘客人数、上车景点编号、下车景点编号。如订单“2,1,5,”(数字之间用逗号“,”分隔,并以逗号结尾)表示2位乘客从1号景点上车5号景点下车。编写python程序,读取已经预约成功的订单信息,并判断新提交的订单能否预约成功。

    设m=12,n=10,如图a所示,是已经预约成功的5个订单对应的各景点车上人数。当输入新的订单号:“4,5,8,”,程序提示预约不成功,如图b所示。

    图a

    图b

    1. (1) 结合题意与图a,若输入订单号为“3,6,9,”,(选填:能/不能)预约成功。
    2. (2) 实现上述功能的python程序如下,请在划线处填写合适的代码。

      #定义函数,读取订单中的人数和上下车景点编号

      def order(s):

       num,start,end=0,0,0

       j,k=0,1

       for i in range(len(s)):

              

       if ch==",":

       tmp=int(s[j:i])

       j=i+1

       if k==1:

       num=tmp

       elif k==2:

       start=tmp

       elif k==3:

       end=tmp

                  

       return num,start,end

      #主程序

      #读取已预约成功订单,存入列表 lst,数据元素为订单号

      # 如 lst=["2,1,5,","1,3,7,","3,2,8,","2,4,7,","3,5,10,"]

      n=10 #站点数

      m=12 #巴士空座位总数

      count=[0]*(n+1)

      for i in lst: #处理预约成功订单

       num,start,end=order(i)

       for i in range():

       count[i]+=num

      s=input("请输入订单号:")#处理新订单

      a,b,c=order(s)

      if a*b*c!=0:

       if :

       print("预约不成功,请重新输入!")

       else:

       print("预约成功!")

      else:

       print("订单格式输入错误,请重新输入!")

      #更新预约成功订单,再次等待新订单,代码略

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