双十一给 V 友抽一波红包

2020-11-10 22:43:58 +08:00
 windliang

极客时间双十一活动,全场五五折,并且从公众号「极客时间优惠」购买课程的话,再返现 24 、36,也就是返现全部归还给大家。

原价 68 的课,返 24,到手价仅 14

原价 99 的课,返 24,到手价仅 31

原价 129 的课,返 36,到手价仅 34

原价 199 的课,返 36,到手价仅 74

详细的购买规则参考 极客时间全场课程 55 折基础上再返 24 、36 元,全网最低

奖品

奖品 1:100 元微信红包,所有下边的回帖中抽取一位。

奖品 2:300 元微信红包,所有下边的回帖中抽取一位,并且开奖前必须在「极客时间优惠」上购买过课程,成功得到了返现。可以购买原价 68 元的课程,到手价仅 14。(新人首单 1 元课程不算,必须再在「极客时间优惠」公众号上购买一门原价 45 元以上课程)

截止时间

2020.11.12 22:00

抽奖算法

采用 我们是如何用科学的方法保证抽奖的公平性的 介绍的算法。代码如下

import hashlib

def get_winners(min_n, max_n, num_win, key):
    res = key
    winners = set()
    while len(winners) < num_win:
        res = hashlib.sha256(bytes(res, encoding='utf-8')).hexdigest()
        winners.add(int(res, 16) % (max_n-min_n+1) + min_n)
    return winners

此函数的输入参数分别是:min_n 为最小楼数,这里取 1max_n 为截止时间的最大楼数;num_win 为指定的中奖人数,这里取 2key 为截止时间后被挖出的第一个比特币区块的哈希值,看 这里 的哈希值。

例如,如果那天的 hash 值是 fcd10ecf02b5353dfd7d36b0452b7a23a9d86ae1a1820a65daddced707fd34fc,最大楼数为 300,那么就调用

print(get_winners(1,300,2,'fcd10ecf02b5353dfd7d36b0452b7a23a9d86ae1a1820a65daddced707fd34fc'))

得到的第一个数字为获得奖品 1 的楼数。

得到的第二个数字为获得奖品 2 的楼数,如果该位 V 友没有在「极客时间优惠」上买过课,那么顺延楼层直到一位买过课程的 V 友。

ps:多次回帖的 V 友,算第一次回帖的楼层。如果抽到非第一次回帖的楼层,同样进行顺延。

2611 次点击
所在节点    推广
63 条回复
HFX3389
2020-11-13 09:37:40 +08:00
@windliang #58 可惜,我也没在你这买过课,顺延吧
windliang
2020-11-13 09:42:43 +08:00
@dreamhighup 29 楼没买过课,顺延下来,你在我这里买过课吗?
cccp2020
2020-11-13 09:52:34 +08:00
@windliang 谢谢,已收到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/723758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX