当前位置 主页 > 服务器问题 > Linux/apache问题 >

    使用 Python 写一个简易的抽奖程序(3)

    栏目:Linux/apache问题 时间:2019-12-09 10:13

    我们假设钻石会员的中奖率为整体中奖率的 100% ,黄金会员的中奖率为整体中奖率的 50% ,白银会员的中奖率为整体中奖率的 20% 。

    最简单的实现方式是直接在最外层套一层会员中奖率的判断,不知道各位同学怎么想。

    小编这里给出自己的解决方案:

    # 判断会员等级中奖率过滤
    # 会员等级 1.白银会员 2.黄金会员 3. 钻石会员
    def vip_lottery(level):
     rate = random.randint(1, 10)
     # 如果是钻石会员,直接进入抽奖函数
     if level == 3:
     return lottery()
     # 如果是黄金会员, 50% 概率进入抽奖函数
     elif level == 2:
     if rate <= 5:
      return lottery()
     else:
      return 0
     # 如果是白银会员, 20% 概率进入抽奖函数
     elif level == 1:
     if rate <= 2:
      return lottery()
     else:
      return 0
     # 如果是其他,直接返回未中奖
     else:
     return 0

    我们新增一个测试增加会员过滤的测试方法:

    # 会员制中奖测试方法
    def test_vip():
     print('请输入您当前的会员等级:1.白银会员 2.黄金会员 3. 钻石会员')
     level = input()
     result = vip_lottery(int(level))
     if (result == 1):
     print('恭喜您中了一等奖')
     elif (result == 2):
     print('恭喜您中了二等奖')
     elif (result == 3):
     print('恭喜您中了三等奖')
     else:
     print('未中奖,谢谢惠顾')

    在我们的入口函数中调用这个方法:

    if __name__ == '__main__':
     test_vip()

    最终测试结果如下:

    小编的人品还可以嘛,直接就能中三等奖。

    那么,到这里,是不是一个简易的抽奖程序就算完成了呢?其实还能接着加,如果每个奖项都有数量限制,并且限制的数量是可以随时调整的等等等等,小编这里就不一一列举了。

    整体代码写的稍微有些长了,小编就不贴出来了,上传到代码仓库各位感兴趣的同学自己访问吧。

    注意: 本篇文章所使用代码,仅供演示讲解使用,不可用于生产环境,在访问量过大的情况下会产生严重的性能问题。

    示例代码

    示例代码-Github

    示例代码-Gitee

    总结

    以上所述是小编给大家介绍的使用 Python 写一个简易的抽奖程序,希望对大家有所帮助!