实例022:比赛对手

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

程序分析:找到条件下不重复的三个对手即可。

代码复现:

# set() 函数创建一个无序不重复元素集

# 每个人对应的可能
a = set(['x', 'y', 'z'])
b = set(['x', 'y', 'z'])
c = set(['x', 'y', 'z'])

c -= set(('x', 'z')) # c说他不和x,z比 --> c:y
a -= set('x') # a说他不和x比 -->a:z

for i in a:
for j in b:
for k in c:
# print(i, j, k, set((i, j, k)))
if len(set((i, j, k))) == 3: # 只要找出不重复的三对即可
print('a:%s,b:%s,c:%s' % (i, j, k))

运行结果:

a:z,b:x,c:y

Process finished with exit code 0