一时心起,随便写了一个欧冠16强抽签概率计算器,计算各支球队可能抽到的对手和对应的概率,考虑同国回避和同组回避原则。

当然,花的时间少,写的很烂,能用就行,输出直接搞命令行,性能不考虑,直接全排列简单粗暴,也没考虑扩展和复用什么的,程序也很简短……以后再要用的时候直接改就可以了……

# coding = utf-8'''
Module: uclDrawCalCreated on 2015-12-10@author: Ring
'''import itertoolsclass team:def __init__(self, teamName="", teamGroup="", teamCountry="", teamRanking="1"):self.name = teamNameself.group = teamGroupself.country = teamCountryself.ranking = teamRankingdef printTeam(self):print self.name, "-",  self.country, "-", self.group+self.rankingdef isDrawCorrect(list1, list2):for i in range(0,8):if (list2[i].group == list1[i].group) or (list2[i].country == list1[i].country):return Falsereturn Truedef getProbabilityByTeam(list1, list2, allResult2, index):print list1[index].nametotalCount = 0proList = {list2[0].name:0, list2[1].name:0, list2[2].name:0, list2[3].name:0, \list2[4].name:0, list2[5].name:0, list2[6].name:0, list2[7].name:0}for someResult in allResult2:if isDrawCorrect(list1, someResult):totalCount += 1proList[someResult[index].name] += 1else:passfor i in range(0, 8):print "draw: ", list2[i].name, "  probability: ", proList[list2[i].name]*1.0/totalCountrealmadrid = team("Real Madrid", "A", "Spain", "1")
wolfsburg = team("Wolfsburg", "B", "Germany", "1")
atmadrid = team("A.T.Madrid", "C", "Spain", "1")
mancity = team("Man City", "D", "England", "1")
barcelona = team("Barcelona", "E", "Spain", "1")
bayernmunich = team("Bayern Munich", "F", "Germany", "1")
chelsea = team("Chelsea", "G", "England", "1")
zenit = team("Zenit", "H", "Russia/Ukraine", "1")
paris = team("Paris Saint Germain", "A", "France", "2")
psv = team("PSV", "B", "Holland", "2")
benfica = team("Benfica", "C", "Portugal", "2")
juventus = team("Juventus", "D", "Italy", "2")
roma = team("Roma", "E", "Italy", "2")
arsenal = team("Arsenal", "F", "England", "2")
kyiv = team("Dinamo Kyiv", "G", "Russia/Ukraine", "2")
gent = team("Gent", "H", "Danmark", "2")listFirst = [realmadrid, wolfsburg, atmadrid, mancity, barcelona, bayernmunich, chelsea, zenit]
listSecond = [psv, benfica, juventus, roma, arsenal, kyiv, gent, paris]
firstAllResult = list(itertools.permutations(listFirst, len(listFirst)))
secondAllResult = list(itertools.permutations(listSecond, len(listSecond)))def main():for i in range(0, 8):getProbabilityByTeam(listFirst, listSecond, secondAllResult, i)for j in range(0, 8):getProbabilityByTeam(listSecond, listFirst, firstAllResult, j)main()

欧冠16强抽签概率计算器相关推荐

  1. java欧冠抽签,欧冠抽签吐槽:最大的“礼包”被C罗拿走!梅西出局概率超50%?...

    欧冠16强抽签揭晓,结果:多特VS巴黎,皇马VS曼城,亚特兰大VS瓦伦西亚,马竞VS利物浦,切尔西VS拜仁,里昂VS尤文图斯,热刺VS莱比锡,那不勒斯VS巴萨. 怎么评价这样的抽签呢? 首先,欧冠小组 ...

  2. 2022-2023赛季16强欧冠抽签模拟(matlab实现)

    最近一直在忙其他事情(耍),很久没发博客了,计划好要发的博客鸽了很久,就以这篇博客作为开始,希望后续会继续坚持用博客记录自己的学习(摸鱼)生活. 正好今天欧冠小组赛结束,16强出炉,赶在抽签结果出来前 ...

  3. 用Python模拟欧冠小组抽签,一不小心把某队抽进死亡之组

    众所周知,如今的欧冠已经由32支球队组成的欧足联俱乐部顶级赛事,为了娱乐,鄙人专门写了一个欧冠小组赛分组抽签的小程序以图一乐. 素材来源 2020-2021赛季欧洲冠军联赛32强分档情况 一档:拜仁, ...

  4. 【正一专栏】2018年欧冠八强猜想

    2018年欧冠八强猜想 原创 2017-12-12 九天 九天时空 欧冠16强对阵 刚刚看完2018年欧冠淘汰赛16强抽签仪式,几家欢喜几家愁,感觉欧足联是要围剿西甲的节奏,八分之一决赛的强强对话基本 ...

  5. 【正一专栏】新赛季欧冠小组赛猜想

    新赛季欧冠小组赛猜想 2017/2018赛季的欧冠抽签仪式,今天凌晨在摩纳哥的蒙特卡洛进行,代表整个欧洲最高水平的32支球队将进行漫长的厮杀,在明年5月份的乌克兰基普决出最后的冠军.虽然本赛季英超有5 ...

  6. 【正一专栏】欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破

    欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破 新赛季的欧洲五大联赛正紧锣密鼓地开幕,上周法甲已经率先开赛,本周英超进入新赛季的征程,在揭幕战酣畅淋漓的对攻中阿森纳主场4:3战胜了莱斯特城,为又一个 ...

  7. 超级计算机欧冠军尤文,超级计算机预测欧冠结局:尤文决赛2-1巴萨 C罗赢梅西捧第6冠...

    原标题:超级计算机预测欧冠结局:尤文决赛2-1巴萨 C罗赢梅西捧第6冠 下周中,欧冠四分之一决赛将拉开大幕,晋级本赛季欧冠8强的球队将依次登场.不过根据<sportbible>的消息,超级 ...

  8. 国米w ndows错误,欧冠国米1:2巴萨!球迷一席话揭球队输球真因,一语中的

    原标题:欧冠国米1:2巴萨!球迷一席话揭球队输球真因,一语中的 欧冠国米1:2巴萨!球迷一席话揭球队输球真因,一语中的.网友热议一针见血地指出:国米客场对阵巴萨才是主力阵容,可惜伤了1个前锋和4个中场 ...

  9. 欧冠超级计算机,超级计算机预测欧冠决赛:红军65%概率夺冠 萨拉赫最可能进球...

    腾讯体育5月31日讯 本季最后一场焦点大战即将到来,利物浦和热刺将在马德里的万达大都会球场上演最后的对决.比赛前夕媒体.名宿等对比赛做出了分析和预测,值得一提的是,超级计算机也对该场比赛进行了推测,计 ...

最新文章

  1. MySQL面试题 | 附答案解析(十二)
  2. 微信应用号开发知识贮备之altjs官方实例初探
  3. 用户报告性能缓慢的解决流程
  4. 符号链接和硬链接有什么区别?
  5. 关于“习惯”的精彩分析
  6. java 输入流关闭顺序_Java IO流中先关闭输出流还是先关闭输入流?为什么?
  7. CF461D-Appleman and Complicated Task【并查集】
  8. 【目标检测】IoU、GIoU、DIoU、CIoU Loss详解及代码实现
  9. 马斯克说,特斯拉卡车有Mad Max狂野模式,危险的变道操作?
  10. 【Python】supervisor 工具介绍
  11. Increasing the OpLog Size in MongoDB(don't need full resync)
  12. 计算机网络-应用层与传输层
  13. 18年韩师插本c语言的题答案,插本全能题库
  14. 安全跑路指南2013之乌云版
  15. Python实现层次分析法
  16. ckplayer在线播放流媒体
  17. 美多次透露加息 国债收益率持续走高
  18. marked转换html失败,解析markdown之marked
  19. bismark判断甲基化的比对原理
  20. 2018年终总结,忙碌充实的一年

热门文章

  1. Unity 自动创建材质球工具
  2. 固定资产设备管理系统
  3. OpenGL实现瀑布图的一些思路
  4. 计算机网络原理笔记 精整理 第六章 应用层
  5. 腾讯GAD:腾讯专家与Layabox官方团队联合解答H5游戏的制作与优化。
  6. Python 爬虫教程中转站
  7. 如何从tomcat官网下载各个版本的tomcat?
  8. OpenGL的版本历史和发展
  9. 财务Financial Affairs
  10. ZZULIOJ1037