智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=52cf92de494f4a8b6165d817a7279966

下面是大乐透模拟中奖的代码,同学们可以自己试试。
已知问题:
1.手动输入竞猜的数字没有做范围判断和类型判断,
2.五等奖中奖判断只做了一种,
3.只做了中奖输出,导致三四等奖的输出较混乱,

有兴趣的同学可以根据以上三个问题完善一下该代码。


小白一个,刚把函数和类学完,有什么更好的方法也请大家指点一下!谢谢!!!!
 

  1. from random import randint
  2.  
  3. caipiao = []
  4. i = 1
  5.  
  6. #   随机生成不重复的大乐透数字
  7. while i <= 1000:
  8.     a = randint(1,35)
  9.     b = randint(1,35)
  10.     while True:
  11.         if b == a:
  12.             b = randint(1,35)
  13.         else:
  14.             break
  15.  
  16.     c = randint(1,35)
  17.     while True:
  18.         if c == a:
  19.             c = randint(1,35)
  20.         elif c == b:
  21.             c = randint(1,35)
  22.         else:
  23.             break
  24.  
  25.     d = randint(1,35)
  26.     while True:
  27.         if d == a:
  28.             d = randint(1,35)
  29.         elif d == b:
  30.             d = randint(1,35)
  31.         elif d == c:
  32.             d = randint(1,35)
  33.         else:
  34.             break
  35.  
  36.     e = randint(1,35)
  37.     while True:
  38.         if e == a:
  39.             e = randint(1,35)
  40.         elif e == b:
  41.             e = randint(1,35)
  42.         elif e == c:
  43.             e = randint(1,35)
  44.         elif e == d:
  45.             e = randint(1,35)
  46.         else:
  47.             break
  48.  
  49.     f = randint(1,16)
  50.  
  51.     g = randint(1,16)
  52.     while True:
  53.         if g == f:
  54.             g = randint(1,16)
  55.         else:
  56.             break
  57. #   用字符串输出大乐透号码
  58.     caipiao_d = []
  59.     caipiao_d.append(str(a))
  60.     caipiao_d.append(str(b))
  61.     caipiao_d.append(str(c))
  62.     caipiao_d.append(str(d))
  63.     caipiao_d.append(str(e))
  64.     caipiao_d.append(str(f))
  65.     caipiao_d.append(str(g))
  66.  
  67.     caipiao.append(caipiao_d)
  68.  
  69.     i += 1
  70.  
  71. #   手动输入要竞猜的数字
  72. aa = str(input('请输入第1位数(1-35):'))
  73. bb = str(input('请输入第2位数(1-35):'))
  74. cc = str(input('请输入第3位数(1-35):'))
  75. dd = str(input('请输入第4位数(1-35):'))
  76. ee = str(input('请输入第5位数(1-35):'))
  77. ff = str(input('请输入第6位数(1-16):'))
  78. gg = str(input('请输入第7位数(1-16):'))
  79. my_cai = [aa,bb,cc,dd,ee,ff]
  80.  
  81.  
  82. #   判断是否中奖
  83. for caips in caipiao:
  84.     my_c_z = []
  85.     for caip in caips[:5]:
  86.         if caip in my_cai[:5]:
  87.             my_c_z.append(caip)
  88.  
  89.     for caip in caips[-2:]:
  90.         if caip in my_cai[-2:]:
  91.             my_c_z.append(caip)
  92.     aa = len(my_c_z)
  93. #   判断中奖的等级
  94.     if aa == 3:
  95.         print(caips)
  96.         print('五等奖')
  97.         print(my_c_z)
  98.         print('您的中奖号码为:')
  99.         print(my_cai)
  100.         print('\n\n')
  101.     elif aa == 4:
  102.         print(caips)
  103.         print('四等奖')
  104.         print(my_c_z)
  105.         print('您的中奖号码为:')
  106.         print(my_cai)
  107.         print('\n\n')
  108.     elif aa == 5:
  109.         print(caips)
  110.         print('三等奖')
  111.         print(my_c_z)
  112.         print('您的中奖号码为:')
  113.         print(my_cai)
  114.         print('\n\n')
  115.     elif aa == 6:
  116.         print(caips)
  117.         print('二等奖')
  118.         print(my_c_z)
  119.         print('您的中奖号码为:')
  120.         print(my_cai)
  121.         print('\n\n')
  122.     elif aa == 7:
  123.         print(caips)
  124.         print('一等奖')
  125.         print(my_c_z)
  126.         print('您的中奖号码为:')
  127.         print(my_cai)
  128.         print('\n\n')
  129.  
python技术交流群:941108876
智一面的面试题提供python的测试题
http://www.gtalent.cn/exam/interview?token=e76073b0b31097ed0f2dbd76d03d2730