python老师布置了个蛋疼的作业:
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,请编程序找出三队赛手大的名单。
想了一下用字典对应每个队员然后穷举,写了一下毫无思路,无奈只能百度
import itertools
for i in itertools.permutations('xyz'):
if i[0] != 'x' and i[2] != 'x' and i[2] != 'z':
print('a vs %s, b vs %s, c vs %s' % (i[0], i[1], i[2]))
百度了下itertools库,这个库用于无限迭代,个人理解应该是用来穷举的。
单独输出了下itertools.permutations('xyz')里的东西:
>>> import itertools
>>> itertools.permutations('xyz')
<itertools.permutations object at 0x7fadb2868db0>
>>> for i in itertools.permutations('xyz'):
... print(i)
...
('x', 'y', 'z')
('x', 'z', 'y')
('y', 'x', 'z')
('y', 'z', 'x')
('z', 'x', 'y')
('z', 'y', 'x')
学无止境,虚心向学
.............
得少打一些lol了