python3练习100题——022

时间:2023-02-13 12:35:40

为了周末轻松点,多做一些题。

原题链接: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的顺序。