题目:

 1 已知以下几期双色球号码(最后一个数字为蓝球),
 2 2019080 03 06 08 20 24 32  07
 3 2019079 01 03 06 09 19 31  16
 4 2019078 01 17 27 29 31 33  12
 5 2019077 09 11 13 18 21 22  15
 6 2019076 12 15 19 20 29 32  14
 7 2019075 05 08 20 22 31 33  03
 8 2019074 12 21 27 29 31 33  04
 9 2019073 01 02 06 12 16 18  08
10 2019072 02 09 13 15 22 30  15
11 2019071 01 08 19 24 29 30  04
12  
13 要求:
14 一、运行后展示:
15 1.查询双色球号码:
16 2.查询出现号码次数
17 3.输入新号码
18 q.退出
19  
20 如果输入1:
21 1.2019080
22 2.2019079
23 3.·····(效果同上)
24 q.退出
25 输入号码后展示对应的结果;如果号码不存在或者非数字提示请重新输入
26 如果输入2
27 结果展示 红球中各个号码出现的次数、蓝球中各个号码出现的次数;
28 如果输入3(附加题,选做)
29 新增的号码支持前面功能 1、2;退出后新增的号码不会保存;如果输入非数字或红球大于33 蓝球大于16 提示请重新输入
30 如果输入q 退出

 

小余的答案:

  1 #!/opt/python27/bin/python
  2 # -*- coding:utf-8 -*-
  3 # author:why
  4 # date:20190715
  5 
  6 '''
  7 已知以下几期双色球号码(最后一个数字为蓝球),
  8 2019080 03 06 08 20 24 32  07
  9 2019079 01 03 06 09 19 31  16
 10 2019078 01 17 27 29 31 33  12
 11 2019077 09 11 13 18 21 22  15
 12 2019076 12 15 19 20 29 32  14
 13 2019075 05 08 20 22 31 33  03
 14 2019074 12 21 27 29 31 33  04
 15 2019073 01 02 06 12 16 18  08
 16 2019072 02 09 13 15 22 30  15
 17 2019071 01 08 19 24 29 30  04
 18  
 19 要求:
 20 一、运行后展示:
 21 1.查询双色球号码:
 22 2.查询出现号码次数
 23 3.输入新号码(暂不实现)
 24 q.退出
 25  
 26 如果输入1:
 27 1.2019080
 28 2.2019079
 29 3.·····(效果同上)
 30 q.退出
 31 输入号码后展示对应的结果;如果号码不存在或者非数字提示请重新输入
 32  
 33 如果输入2
 34 结果展示 红球中各个号码出现的次数、蓝球中各个号码出现的次数;
 35  
 36 如果输入3(附加题,选做)
 37 新增的号码支持前面功能 1、2;退出后新增的号码不会保存;如果输入非数字或红球大于33 蓝球大于16 提示请重新输入
 38  
 39 如果输入q 退出
 40 '''
 41 
 42 
 43 class doubleSle:
 44     def __init__(self):
 45         douData = {2019080: [03, 06, 8, 20, 24, 32, 07],
 46                    2019079: [01, 03, 06, 9, 19, 31, 16],
 47                    2019078: [01, 17, 27, 29, 31, 33, 12],
 48                    2019077: [9, 11, 13, 18, 21, 22, 15],
 49                    2019076: [12, 15, 19, 20, 29, 32, 14],
 50                    2019075: [05, 8, 20, 22, 31, 33, 03],
 51                    2019074: [12, 21, 27, 29, 31, 33, 04],
 52                    2019073: [01, 02, 06, 12, 16, 18, 8],
 53                    2019072: [02, 9, 13, 15, 22, 30, 15],
 54                    2019071: [01, 8, 19, 24, 29, 30, 04]}
 55         self.douData = douData
 56         seleOne = ['1.查询双色球号码:', '2.查询出现号码次数:', 'q.退出']
 57         seleTwo = sorted(self.douData.keys())
 58         self.seleOne = seleOne
 59         self.seleTwo = seleTwo
 60 
 61     def doubleSleCount(self):
 62         '''
 63         统计红球、篮球出现次数
 64         :return: 
 65         '''
 66         countRed=[0]
 67         countBlue = [0]
 68         for i in range(1,34):
 69             countRed.append(0)
 70             for j in range(0,len(self.douData.values()[0])-1):
 71                 for k in range(0,len(self.douData.keys())):
 72                     if i == self.douData.values()[k][j]:
 73                         countRed[i] +=1
 74 
 75         for i in range(1,17):
 76             countBlue.append(0)
 77             for j in range(0, len(self.douData.keys() )):
 78                 if i == self.douData.values()[j][len(self.douData.values()[0])-1]:
 79                     countBlue[i] +=1
 80 
 81         print countRed,countBlue
 82         return [countRed,countBlue]
 83 
 84     def doubleSleRaw(self,liRes,num):
 85         '''
 86         将列表转成str,并换行
 87         :param liRes: 
 88         :return: 
 89         '''
 90         s = ''
 91         if num == 0:
 92             for i in liRes:
 93                 s += i+'\t\n'
 94         elif num == 1:
 95             for i in range(0,len(liRes)):
 96                 s += '{a}.{b}\t\n'.format(a=(i+1),b=liRes[i])
 97         return s
 98 
 99     def begin(self):
100         '''
101         z循环开始
102         :return: 
103         '''
104         while True:
105             # doubleSleC = doubleSle()
106             numOne = raw_input(self.doubleSleRaw(self.seleOne,0))
107             # 判断是否是整数
108             if numOne.isdigit() :
109                 numOneInt = int(numOne)
110                 if numOneInt == 1:
111                     numTwo = raw_input(self.doubleSleRaw(self.seleTwo,1))
112                     if numTwo.isdigit():
113                         numTwoInt = int(numTwo)
114                         if numTwoInt >0 and numTwoInt <= len(sorted(self.douData.keys())):
115                             print('查询结果:{a} {b}'.format(a=(sorted(self.douData.keys()))[numTwoInt-1],b=self.douData[(sorted(self.douData.keys()))[numTwoInt-1]]))
116                         else:
117                             print('请重新输入')
118                             continue
119                     else:
120                         print('请重新输入')
121                         continue
122                 elif numOneInt == 2:
123                     doubleSleCount = self.doubleSleCount()
124                     print('红球出现的次数:')
125                     for i in range(0,len(doubleSleCount[0])-1):
126                         print('{a}出现的次数:{b}').format(a=(i+1),b=doubleSleCount[0][i+1])
127                     print('篮球出现的次数:')
128                     for i in range(0, len(doubleSleCount[1])-1):
129                         print('{a}出现的次数:{b}').format(a=(i+1),b=doubleSleCount[1][i+1])
130                 else:
131                     print('请重新输入')
132                     continue
133             else:
134                 if numOne == 'q':
135                     exit()
136                 else:
137                     print('请输入数字')
138 
139 if __name__ == '__main__':
140     s = doubleSle()
141     s.begin()
View Code

相关文章:

  • 2019-03-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-31
  • 2021-10-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-15
  • 2021-12-28
相关资源
相似解决方案