标题: [问题求助] 请用python编程解决问题 [打印本页]
作者: netdzb 时间: 2020-4-21 08:45 标题: 请用python编程解决问题
有a,b,c,d,e,f一共6位足球运动员
拆成3个队员 === 3个队员的比赛。请用python编程,
列出所有进行比赛组合的列表。
作者: cfwyy77_bat 时间: 2020-4-21 11:09
这不是python问题,说白了就是数学组合问题。 所有就是C(6,3)的一半。
一定要用python处理的话,随便写了一下,大概可以这样- from itertools import combinations
-
- p="abcdef"
-
- def listMatch(p):
- BTeam=set()
- for i in combinations(p,3):
- A = "".join(i)
- B = "".join(sorted(set(p)-set(i)))
- if A not in BTeam:
- BTeam.add(B)
- print(A,"VS",B)
-
- if __name__=="__main__":
- listMatch(p)
复制代码
结果:- abc VS def
- abd VS cef
- abe VS cdf
- abf VS cde
- acd VS bef
- ace VS bdf
- acf VS bde
- ade VS bcf
- adf VS bce
- aef VS bcd
复制代码
作者: netdzb 时间: 2020-4-21 11:58
回复 2# cfwyy77_bat
c6 3组合问题,原来你是用集合相减的方法解决问题的啊。
作者: netdzb 时间: 2020-4-21 12:01
回复 2# cfwyy77_bat
BTeam=set()和BTeam=''等价吗?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |