当前位置: 高中信息技术 / 综合题
  • 1. (2022高二下·湖州期末) 某餐厅辅助配餐程序提供给用户基于预算的点菜功能,该程序主要由“菜单显示”及“订单管理”两大基本模块组成,具体如下:

    ◆菜单显示功能:输出菜价小于等于预算经费余额且在售的菜品;

    ◆订单管理功能:包括输出订单中的菜品信息,订单菜品的删除和添加等。

    1. (1) 菜品数据相对稳定,为了便于查找菜品,采用(   )结构较为合理,订单数据涉及频繁的增加或删除,采用(   )结构较为合理。

      上述可填的内容为:(单选,填字母A .数组、链表/B .链表、数组)

    2. (2) 餐厅菜品数据表如下所示,每道菜由4个数据项组成,第一项为菜品编号,第二项为菜品名称,第三项的菜品单价(以“分”为单位,该数据项为0.表示菜品已下架),第四项为当月销量。实现菜单显示和输出订单菜品信息的程序如下,餐厅菜单保存在menu中,格式为:menu=[[0,"太湖三宝",18800,535], [1,"湖羊肉",11800,446],…]。

      编号

      菜品名称

      菜品价格(单位:分)

      当月销量

      0

      太湖三宝

      18800

      535

      1

      湖羊肉

      11800

      446

      n-1

      白果芦笋

      0

      2

      程序运行结果如图所示,请在划线处填入合适的代码。

      #读取餐馆全部菜品数据保存到menu中,数据类型及格式见题干描述,代码略。

      sal=int(input("☆ 请输入你的消费预算(单位:分):"))

      print("☆ 可供选择的菜品:")

      for i in range(len(menu)):

        if  and menu[i][2]<=sal:

          print(' ',menu[i])

          n=input("☆ 请输入预选择的菜品编号,以逗号分隔:").split(',')

          x=len(n)

          lis=[[int(n[i]),i+1] for i in range(x)]

          lis[x-1][1]=-1

          p=0

          while p!=-1:

            bh=lis[p][0]

        if menu[bh][2]<=sal:

         

          y=p

        else:

          lis[y][1]=lis[p][1]

          p=lis[p][1]

          p=0;s=''

      while p!=-1:

        s+=menu[lis[p][0]][1]+' '

       

        print('☆ 点单成功的菜品:'+s)

      print("☆ 剩余金额:"+str(sal))

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