美文网首页
美育课堂 钢琴课抽签规则

美育课堂 钢琴课抽签规则

作者: zidanessf | 来源:发表于2019-05-04 12:32 被阅读0次

    参与抽签的总人数NUM = 441,通过以下流程抽取25名幸运同学:

    1. 获取2019年5月4日开盘时(北京时间5月4日 9:30pm)的纳斯达克指数N1,道琼斯指数N2
    2. 取N1*N2的前5位数,并将其转化为字符串Skey
    3. for k = 1:25
      将Skey与k合并为新的字符串Skey',对Skey'进行一次SHA1运算,得到幸运数字lucky
      获奖编号 = mod(lukcy,NUM)

    抽奖结果于5月4日晚11点前公布

    说明: 由于两个股票指数无法精准预测,而由于SHA1运算对输入的敏感特性,导致幸运数字lucky是不可预测的!因此,以上算法保证了抽签的公平性。此外,当股票指数公布后,任何同学都可以根据以下源码重复进行抽签,抽签的流程是完全公开的。

    ### 抽签代码
    from googlefinance.get import get_code
    from hashlib import sha1
    NUM = 441
    NASDAQ = #2019年5月4日纳斯达克开盘指数 https://finance.yahoo.com/quote/%5EIXIC/
    DJI = #2019年5月4日道琼斯开盘指数 https://finance.yahoo.com/quote/%5EDJI?p=^DJI
    Skey = (str(NASDAQ*DJI))[0:5]
    for k in range(25):
        luckeyNum = sha1((Skey + str(k)).encode())
        luckeyNum = int(luckeyNum.hexdigest(),16)
        TheChosenOne = luckeyNum%NUM
        print('恭喜第{0}位同学入选!'.format(TheChosenOne))
    

    再次说明:有些同学不理解为什么要搞这么复杂的抽签,直接随机数不就了事了嘛。然而,随机数的弊端是无法证明是否是黑箱操作。以上方法通过不可预知的股票指数,以及算法上的可重复可验证性,从技术上杜绝了黑箱操作。
    结果公布:NASDAQ = 8092.88 DJI = 26379.14,代入以上程序,得到以下幸运同学名单:


    image.png

    相关文章

      网友评论

          本文标题:美育课堂 钢琴课抽签规则

          本文链接:https://www.haomeiwen.com/subject/dcjxoqtx.html