为了周末轻松点,多做一些题。
原题链接:http://www.runoob.com/python/python-exercise-example22.html
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
分析:这道题可以参考练习题001,都可以转换成排序问题。
题目只要求解a,b,c与x,y,z的对应关系,就可以看做abc求对应的xyz的顺序。可以用到permutations函数。
我的代码:
def fun(): for i in permutations(['x','y','z'],3): #枚举出所有xyz的排序 if (i[0]!='x' and i[2]!='x' and i[2]!='z'): #卡xyz顺序的条件 print("a:%s,b:%s,c:%s" %(i[0],i[1],i[2]))
思考:
关键就在把对应关系,想成顺序来求,这样就有个初步的想法——用循环,且只考虑xyz的顺序。