羽毛球友谊赛规则(附带程序)(原创)

新闻链接:热烈庆祝电波传播实验室党支部 羽毛球赛圆满结束

羽毛球友谊赛规则(终稿)

一,比赛时间地点

  2018.12.21 周五 早上 900-1200

  900大家开始热身

  930正式开始淘汰赛

  淘汰赛结束后休息五分钟后进行晋级赛抽签、比赛

 

二,淘汰赛规则

  女生、男生分别进行淘汰赛

  女生12号场地,男生3456号场地

 

  改动:淘汰赛只进行一轮一共打21个球,赢球积分、失球不积分不扣分

    积分从高到低排序,淘汰排名靠后的几个同学

    女生淘汰赛、128淘汰4

    男生淘汰赛、228淘汰14

 

  遇到临界淘汰的积分相同的同学进行一场13分制的加赛(先赢球13分的同学获胜)

 

1 女生淘汰赛名单:

报名序号

姓名

报名序号

姓名

比赛场地

裁判员

20

24

1

羽毛球场地

29

 

15

30

18

32

14

2

羽毛球场地

27

11

33

31

2 男生淘汰赛名单:

报名序号

姓名

报名序号

姓名

比赛场地

裁判员

8

21

3

羽毛球场地

13

10

2

5

19

1

4

羽毛球场地

26

17

25

12

28

4

5

羽毛球场地

23

34

3

22

9

6

6

羽毛球场地

16

7

三,晋级赛规则

 

1 晋级赛规则(比赛过程中空闲的场地大家可以自行组织羽毛球运动)

 

  ① 比赛前,由女生抽签决定自己的队友

 

  ② 晋级赛分为BO1BO3 分别是一轮比赛和三轮比赛

    BO1每轮比赛为13分制,只进行1轮比赛,先赢得13个积分获胜直接晋级

    BO3每轮比赛为13分制,需要赢得3轮比赛中的两轮比赛晋级,每场比赛的胜者拥有优先选边和发球权

 

  ③ 半决赛和决赛为BO3、八进四比赛为BO1

 

  ④ BO1BO3第一场比赛通过抛掷硬币决定 优先选边和发球权

 

四,奖品

  冠军队伍:每人 一桶 羽毛球

  亚军队伍:每人 一提 安慕希纯牛奶

  季军队伍:每人 一提 蒙牛真果粒

 

  其他未获奖选手可获得牛奶一瓶

五,附录

 

参赛选手

 

原始程序生成

女生对手:

[[20, 1, 5], [24, 1, 3],

[29, 1, 4], [15, 1, 1],

 [30, 1, 4], [18, 2, 1],

 [32, 1, 4], [14, 1, 1],

 [27, 1, 8], [11, 1, 1],

[33, 1, 4], [31, 2, 7]]

男生对手:

[[8, 1, 4], [21, 1, 6],

[13, 2, 1], [10, 2, 4],

[2, 1, 2], [5, 1, 4],

[19, 1, 5], [1, 2, 1],

 [26, 2, 7], [17, 1, 4],

[25, 1, 4], [12, 1, 1],

[28, 1, 2], [4, 1, 3],

[23, 1, 6], [34, 1, 1],

[3, 1, 1], [22, 1, 6],

[9, 2, 4], [6, 2, 1],

 [16, 2, 1], [7, 2, 4]]

程序:

  1 import numpy as np
  2 
  3 import copy
  4 
  5  
  6 
  7 # 数字化处理
  8 
  9 ladies = [[11, 1, 1],
 10 
 11           [14, 1, 1],
 12 
 13           [15, 1, 1],
 14 
 15           [18, 2, 1],
 16 
 17           [20, 1, 5],
 18 
 19           [24, 1, 3],
 20 
 21           [27, 1, 8],
 22 
 23           [29, 1, 4],
 24 
 25           [30, 1, 4],
 26 
 27           [31, 2, 7],
 28 
 29           [32, 1, 4],
 30 
 31           [33, 1, 4]]
 32 
 33  
 34 
 35 men = [[1, 2, 1],
 36 
 37        [2, 1, 2],
 38 
 39        [3, 1, 1],
 40 
 41        [4, 1, 3],
 42 
 43        [5, 1, 4],
 44 
 45        [6, 2, 1],
 46 
 47        [7, 2, 4],
 48 
 49        [8, 1, 4],
 50 
 51        [9, 2, 4],
 52 
 53        [10, 2, 4],
 54 
 55        [12, 1, 1],
 56 
 57        [13, 2, 1],
 58 
 59        [16, 2, 1],
 60 
 61        [17, 1, 4],
 62 
 63        [19, 1, 5],
 64 
 65        [21, 1, 6],
 66 
 67        [22, 1, 6],
 68 
 69        [23, 1, 6],
 70 
 71        [25, 1, 4],
 72 
 73        [26, 2, 7],
 74 
 75        [28, 1, 2],
 76 
 77        [34, 1, 1]]
 78 
 79  
 80 
 81 # print(ladies)
 82 
 83 # print(men)
 84 
 85  
 86 
 87  
 88 
 89 # 女生生成随机对手
 90 
 91 list_ladies = []
 92 
 93 active = 1
 94 
 95 while active:
 96 
 97  
 98 
 99     data_mid = copy.deepcopy(ladies)
100 
101     len_lady = len(data_mid)
102 
103  
104 
105     for i in range(int(len_lady / 2)):
106 
107         print(i)
108 
109         # 选取第一个选手,并加载到队列中
110 
111         select0 = np.random.randint(0, len_lady)
112 
113         data0 = data_mid[select0]
114 
115         list_ladies.append(data0)
116 
117         data_mid.pop(select0)  # 在中间变量中删除
118 
119         len_lady -= 1
120 
121  
122 
123         # 选取第二个互斥选手,加入队列中
124 
125         select1 = np.random.randint(0, len_lady)
126 
127         data1 = data_mid[select1]
128 
129         if data0[2] == data1[2]:
130 
131             list_ladies = []
132 
133             break
134 
135         else:
136 
137             list_ladies.append(data1)
138 
139             data_mid.pop(select1)
140 
141             len_lady -= 1
142 
143  
144 
145         if i == int(len_lady / 2) - 1:
146 
147             active = 0
148 
149  
150 
151 print(list_ladies)
152 
153  
154 
155 # 男生生成随机对手
156 
157 # 程序的循环有些问题
158 
159 active = 1
160 
161 while active:
162 
163     list_men = []
164 
165     data_mid = copy.deepcopy(men)
166 
167     len_man = len(data_mid)
168 
169     for i in range(int(len_man / 2)):
170 
171         # print(i)
172 
173         # 选取第一个选手,并加载到队列中
174 
175         select0 = np.random.randint(0, len_man)
176 
177         data0 = data_mid[select0]
178 
179         list_men.append(data0)
180 
181         data_mid.pop(select0)  # 在中间变量中删除
182 
183         len_man -= 1
184 
185  
186 
187         # 选取第二个互斥选手,加入队列中
188 
189         while 1:
190 
191             select1 = np.random.randint(0, len_man)
192 
193             data1 = data_mid[select1]
194 
195             # 如果随机到的对手实验室相同,重新选择
196 
197             if data0[2] == data1[2]:
198 
199                 # print(data1)
200 
201                 pass
202 
203             else:
204 
205                 list_men.append(data1)
206 
207                 data_mid.pop(select1)
208 
209                 len_man -= 1
210 
211                 break
212 
213  
214 
215         if i == int(len_man / 2) - 1:
216 
217             active = 0
218 
219         print(list_men)
220 
221  
222 
223 print(list_men)
原文地址:https://www.cnblogs.com/Mufasa/p/10488548.html