当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·宁波期末) 人们通过研究发现,将某些不同商品(如休闲食品和饮料)陈列在一起销售,能使商品的销售量增长。为了寻找这些能相互促进销量的商品,就需要进行商品的关联分析。“支持度”是反映商品关联性的一个重要度量值,为了统计相关商品的支持度,需要先统计相关商品的关联次数。关联次数指的是不同商品同时出现在同一个购物流水中的次数。如图所示的流水文件,关联次数最多的一组商品是x4和x5。现编写程序找出关联次数最多的商品组,若有多组,则全部输出,请补充程序划线处。

    1. (1) 以下自定义函数用于读取流水文件,并进行预处理。假设流水文件中每一行数据由流水号及商品名组成,每项内容之间用逗号隔开,商品名由字母“x”加一位数字组成。

      def read(file):

          f=open(file,'r') #读取文件

          li=[]

          for line in f:

             

              s=''

              for i in range(len(line.strip())):  #strip()函数删除字符串末尾的“\n”

                  ch=line[i]

                  if ch==',':

                      flag=True

                  if ch>='0'and   ch<='9'and  flag:

                      s=s+ch

              li.append(s)

          f.close()

      return li

    2. (2) 以下自定义函数用于生成商品的关联。

      def gl(s):

          a=[]

          for i in range(len(s)- 1):

              x=s[i]

              for j in range():

                  y=s[j]

                 

          return a

    3. (3) 以下自定义函数用于查找最高关联次数。

      def  maxgl(dic):

          mt=0

          for i in dic:

              if  dic[i]>mt:

                 

          return mt

    4. (4) 以下是主程序。

      dic={}

      li=read('data.txt')#data.txt     是流水文件

      for i in li:

          if len(i)>1:

              a=g1(i)

              for j in a:

                  if j in dic:

                      dic[j]+=1

                  else:

                      dic[j]=1

      mt=maxg1(dic)

      for i in dic:

          if

              print('关联度最多的一组商品是: x'+i[0]+'和x'+i[1])

    5. (5) 若将加框处代码精简为“a.append(x+y)” (不包括引号),程序的运行结果是否 有影响?  (选填:是或否)。

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