当前位置: 高中信息技术 / 综合题
  • 1. (2024·) 为支持公益事业,彩票中心设立了一个彩票项目。每张彩票上印有 7个各不相同的号码(号码范围从1到33)。每次开奖时,会随机生成一个由7个各不相同的号码构成的中奖号码。彩票的兑奖规则如下:“特等奖”彩票上的7个号码与中奖号码全部相同;“一等奖”有6个号码相同;“二等奖”有5个号码相同;“三等奖”有4个号码相同;“四等奖”有3个号码相同;“五等奖”有2个号码相同;“六等奖”有1个号码相同。兑奖时不考虑号码在彩票和中奖号码中出现的具体位置。例如,若中奖号码为23,31,1,14,19,17,18,而某张彩票的号码为12,8,9,23,1,16,7,则该彩票中得五等奖,因为其中有两个号码(23和1)与中奖号码相同。

    彩票中心编写一个程序,功能为:随机生成7个不重复的中奖号码,并读取文件“彩票记录.txt”(该文件存储所有已售出的彩票号码),最后根据兑奖规则输出开奖结果,运行界面示例如下:

    1. (1) 假设中奖号码为23,31,1,14,19,17,18,彩票为11,8,9,32,1,16,7,中奖结果为
    2. (2) 实现上述功能的Python程序如下,请在划线处填入合适的代码。

      import random #随机生成7个[1,33]范围内不重复的中奖号码

      flag= [ 0 ] * 34 ; data = [ 0 ] * 7

      i = 0

      while i < 7 :

       t = random.randint( 1 , 33 )

       if  not flag[ t ]:

              

       i = i + 1

      flag [ t ] = 1

      print("中奖号码:" , data)

      #读取"彩票记录.txt"文件,存储到数组sale=[[12,8,9,23,1,16,7],[11,7,10,21,2,9,31]…],代码略。

       #num[0]表示特等奖个数,num[i]表示i等奖个数

      for i in range( len ( sale ) ) :

          cnt = 0

       for j in range ( 7 ) :

       if  sale[ i ][ j ] in data:

       cnt += 1

          num[] += 1

      print("彩票开奖结果:")

      for i in range( 7 ):

       s="特等奖一等奖二等奖三等奖四等奖五等奖六等奖"

       print(s[] , "产生:" , num[ i ] , "个")

    3. (3) 上述加框处代码,能否修改为“num = [ 0 ] * 7”,(选填:是/否)。

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