当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·浙江期中) 某花瓶厂有三台不同型号的机器,可生产ABC三种不同型号的花瓶。厂家每天会收到很多网上订单,每个客户的订单信息包含订单号、型号、数量和状态,其中状态值为1表示确认订单,-1表示取消订单。工作人员首先挑选出确认的订单,然后对订单按花瓶型号进行分类统计,最后交给工作人员生产。订单信息存储在“orders.csv”文件中,文件数据格式如图a所示。

    请回答下列问题。

    1. (1) 若某天的订单如图b所示,则当天应生产的B型号花瓶数量为

    2. (2) 定义如下readdata()函数,函数功能是从订单文件中挑选出确认的订单,并将订单的订单号、型号和数量存储在列表orders中,程序划线处应填入的语句为

      def readdata():

          import csv

          f=open("orders.csv","r",encoding="utf-8")

          f_csv=csv.reader(f)

          title=next(f_csv)      #读取标题行

          for line in f_csv:                                 #逐行读取数据

              if line[3]=="1":

                  orders.append([line[0],          ,int(line[2])])

      f.close()

      return orders

    3. (3) 实现按花瓶型号分类统计花瓶数量的 Python 程序如下,程序运行结果如下图 c 所示。请在程序划线处填入合适的代码。

      图 c

      orders=[]    #存储订单信息

      readdata()

      print("当天订单信息为:\n",orders)

      n=len(orders);m=3

      tlist=[]      #以链表形式存储相同型号花瓶首尾订单的索引值

      for i in range(n):

          orders[i].append(- 1)       #orders[i]追加一个元素- 1

      for i in range(m):

          tlist.append([- 1,- 1])      #tlist 追加一个元素[- 1,- 1]

      i=0

      while i<n:

          k=ord(orders[i][1])-ord("A")

          if tlist[k][0]==- 1:

              tlist[k][0]=i

          else:

              p=tlist[k][1]

             

          tlist[k][1]=i

          i+=1

      p=0

      print("分类订单统计结果为:")

      while p<m:

          y=tlist[p][0]

          total=0

          while y!=- 1:

              print(orders[y][0:3],"->",end="")

             

              y=orders[y][3]

      print("共计",total,"个")

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