Python模拟印尼赛男单抽签,这样的签位丹神有机会夺冠吗?

丹神加油!
07月19日 00:04 0 4957

        2019印尼公开赛正在火热进行当中,作为丹迷,最关注的当然还是林丹的表现。可惜的是由于赛点时争议性的判罚,丢了首局,最终也给整场比赛的失利带来了影响。在随后的比赛中桃田贤斗、石宇奇、谌龙等奥运冠军、世界冠军接连出局,魔鬼主场确实名副其实。

        为林丹可惜之余,关注了下男单的签表,如果几位大佬都正常晋级,挡在丹神拿到印尼首冠前面的有加拿大选手何舒,影帝周天成,乔纳坦,半决赛要打金廷或桃田,进决赛的话很可能是国羽内战。啧啧,想到这我知道我又在YY了。确实对于目前林丹的状态来说难度太大了。

        恰逢最近正在看python的基础语法,萌生了用python模拟男单抽签的想法(当然是丑爆了的控制台输入输出,emmm,大神勿喷)。

        首先第一步当然是了解下男单的抽签规则。对于没有资格赛,也即赛事有且仅有32位男单选手的比赛来说,会存在8位种子选手(按照积分排名来选出)。上下半区各16个签位,一共32个签位。如果把它分成4份则上下半区各有2个1/4区,分成8份的话则上下半区各有4个1/8区。

假设签位从1-32编号,则1、2号种子选手会被随机划分在1号和32号签位;3、4号首先是不能和1、2号种子在同一个1/4区,他们会被随机划分在9号和24号签位,同理5-8号种子选手不能和其他种子选手划分在同一个1/8区,他们会被随机划分在7、13、20、28这4个签位。至此,种子选手的抽签完成,其余24名选手则被随机划分在剩余的签位中。

        规则思路了解之后,就是编码实现了。源代码如下:

        实属菜鸟编程,大神勿喷!某次运行结果如下:

        (特别说明:由于安赛龙退赛,按照爱羽客所给签表,定黄永棋为3号种子选手。)

        讲道理,这个签位还算不错了。跑了n次代码,试图跑出一个丹神可以“躺赢”拿冠的签表,然而结合丹神目前的状态,(为难了)发现都不轻松。。。木得办法,丹神确实老了。

        其它一些运行出来的结果:

        这个我喜欢,一轮游也值了,就喜欢这种强强对抗!

       “国羽一哥” +“那个男人回来了”系列:

        YY得自己都看不下去了,哈哈哈。不过还是相信林丹,为丹神加油!毕竟是善于创造奇迹的男人。

        最后YY一张日本公开赛的抽签结果(根据爱羽客给的签表,丹神次轮又要打影帝,妈耶,emmm):

        其中石宇奇受伤了,不知道能不能上到时候,安赛龙依然是退赛,到时候应该会有一些替补选手补进来吧。

        纯属喜欢羽毛球,娱乐一下哈。顺带承认一下,还是第一次在爱羽客发帖的萌新,emmm。


点赞
这些小伙伴都在分享
快来分享吧
收藏