用Python模拟欧冠小组赛抽签(修订版),论死亡之组是如何自动炼成的

阅读: 评论:0

用Python模拟欧冠小组赛抽签(修订版),论死亡之组是如何自动炼成的

用Python模拟欧冠小组赛抽签(修订版),论死亡之组是如何自动炼成的

记得之前,我曾经写过一个欧冠抽签的小程序
不过之前写的那个程序其实还是有一点小bug
让我们回顾一下

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

不过之前的程序还是有一点小bug的
经过十一的调试
终于祭出了修订版
这次可以满足先抽球队再抽小组了
也能实现俄罗斯球队与乌克兰球队
二者之间的回避
如果运行报错
没关系,再尝试运行一下就行了
先贴上代码


var foo = 'bar';
import random
d1=(('切尔西','英格兰'),('比利亚雷亚尔','西班牙'),('曼城','英格兰'),('马德里竞技','西班牙'),('国际米兰','意大利'),('葡萄牙体育','葡萄牙'),('里尔','法国'),('拜仁慕尼黑','德国'))
d2=(('巴塞罗那','西班牙'),('皇家马德里','西班牙'),('多特蒙德','德国'),('曼联','英格兰'),('利物浦','英格兰'),('巴黎圣日耳曼','法国'),('塞维利亚','西班牙'),('尤文图斯','意大利'))
d3=(('亚特兰大','意大利'),('RB莱比锡','德国'),('萨尔茨堡红牛','奥地利'),('波尔图','葡萄牙'),('阿贾克斯','荷兰'),('顿涅茨克矿工','乌克兰'),('本菲卡','葡萄牙'),('泽尼特','俄罗斯'))
d4=(('AC米兰','意大利'),('沃尔夫斯堡','德国'),('布鲁日','比利时'),('贝西克塔斯','土耳其'),('基辅迪纳摩','乌克兰'),('马尔默','瑞典'),('伯尔尼年轻人','瑞士'),('谢里夫','摩尔多瓦'))
f1=list(d1)
f2=list(d2)
f3=list(d3)
f4=list(d4)
fenzu=[]
for i in range(8):fenzu.append([])
random.shuffle(f1)
random.shuffle(f2)
random.shuffle(f3)
random.shuffle(f4)
#抽第一档球队
for m in range(8):fenzu[m].append(f1[m])
#抽第二档球队
for n in range(8):availgroup=[]drawteam=f2[n]for j in range(8):if len(fenzu[j])<2:fircountry=fenzu[j][0][1]seccountry=drawteam[1]if fircountry != seccountry:if fircountry =='俄罗斯' and seccountry=='乌克兰':continueelif fircountry =='乌克兰' and seccountry=='俄罗斯':continueelse:availgroup.append(j)else:continuerandom.shuffle(availgroup)fenzu[availgroup[0]].append(drawteam)
#抽第三档球队
for n in range(8):availgroup=[]drawteam=f3[n]for j in range(8):if len(fenzu[j])<3:fircountry=fenzu[j][0][1]seccountry=fenzu[j][1][1]thircountry=drawteam[1]if thircountry != fircountry and thircountry != seccountry:if thircountry =='俄罗斯':if fircountry =='乌克兰' or seccountry=='乌克兰':continueelse:availgroup.append(j)elif thircountry =='乌克兰':if fircountry =='俄罗斯' or seccountry=='俄罗斯':continueelse:availgroup.append(j)else:availgroup.append(j)else:continuerandom.shuffle(availgroup)fenzu[availgroup[0]].append(drawteam)
#抽第四档球队
for n in range(8):availgroup=[]drawteam=f4[n]for j in range(8):if len(fenzu[j])<4:fircountry=fenzu[j][0][1]seccountry=fenzu[j][1][1]thircountry=fenzu[j][2][1]fourcountry=drawteam[1]if fourcountry != fircountry and fourcountry != seccountry and fourcountry != thircountry:if fourcountry =='俄罗斯':if fircountry =='乌克兰' or seccountry=='乌克兰' or thircountry=='乌克兰':continueelse:availgroup.append(j)elif fourcountry =='乌克兰':if fircountry =='俄罗斯' or seccountry=='俄罗斯' or thircountry=='俄罗斯':continueelse:availgroup.append(j)else:availgroup.append(j)else:continuerandom.shuffle(availgroup)fenzu[availgroup[0]].append(drawteam)for n in range(8):print(fenzu[n])

尝试用本赛季欧冠分档试了一下
不知道你支持的球队被我试进死亡之组了吗
附上两个程序运行结果

[('比利亚雷亚尔', '西班牙'), ('尤文图斯', '意大利'), ('波尔图', '葡萄牙'), ('伯尔尼年轻人', '瑞士')]
[('拜仁慕尼黑', '德国'), ('曼联', '英格兰'), ('阿贾克斯', '荷兰'), ('马尔默', '瑞典')]
[('葡萄牙体育', '葡萄牙'), ('巴黎圣日耳曼', '法国'), ('亚特兰大', '意大利'), ('布鲁日', '比利时')]
[('国际米兰', '意大利'), ('利物浦', '英格兰'), ('萨尔茨堡红牛', '奥地利'), ('谢里夫', '摩尔多瓦')]
[('切尔西', '英格兰'), ('塞维利亚', '西班牙'), ('泽尼特', '俄罗斯'), ('沃尔夫斯堡', '德国')]
[('里尔', '法国'), ('皇家马德里', '西班牙'), ('RB莱比锡', '德国'), ('AC米兰', '意大利')]
[('马德里竞技', '西班牙'), ('多特蒙德', '德国'), ('顿涅茨克矿工', '乌克兰'), ('贝西克塔斯', '土耳其')]
[('曼城', '英格兰'), ('巴塞罗那', '西班牙'), ('本菲卡', '葡萄牙'), ('基辅迪纳摩', '乌克兰')]
[('切尔西', '英格兰'), ('巴塞罗那', '西班牙'), ('亚特兰大', '意大利'), ('布鲁日', '比利时')]
[('国际米兰', '意大利'), ('利物浦', '英格兰'), ('泽尼特', '俄罗斯'), ('马尔默', '瑞典')]
[('拜仁慕尼黑', '德国'), ('巴黎圣日耳曼', '法国'), ('波尔图', '葡萄牙'), ('谢里夫', '摩尔多瓦')]
[('曼城', '英格兰'), ('皇家马德里', '西班牙'), ('RB莱比锡', '德国'), ('AC米兰', '意大利')]
[('马德里竞技', '西班牙'), ('多特蒙德', '德国'), ('本菲卡', '葡萄牙'), ('贝西克塔斯', '土耳其')]
[('葡萄牙体育', '葡萄牙'), ('曼联', '英格兰'), ('顿涅茨克矿工', '乌克兰'), ('沃尔夫斯堡', '德国')]
[('里尔', '法国'), ('塞维利亚', '西班牙'), ('阿贾克斯', '荷兰'), ('伯尔尼年轻人', '瑞士')]
[('比利亚雷亚尔', '西班牙'), ('尤文图斯', '意大利'), ('萨尔茨堡红牛', '奥地利'), ('基辅迪纳摩', '乌克兰')]

本文发布于:2024-02-04 12:29:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170707266255578.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:修订版   炼成   小组赛   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23