问题描述
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
解决方案
可以使一乒乓球队为变量,利用for循环列出所有的参赛选手两两比赛情况,根据题目要求去掉不符合条件的情况,再去掉选手比赛情况相冲突的情况即可。
具体代码
for a in ['x','y','z']:for b in ['x','y','z']:for c in ['x', 'y', 'z']:#三个for循环例举全部情况if a != b and b != c and c != a and a != 'x' and c != 'x' and c != 'z':#前三个‘不等于’即可解决选手比赛情况相冲突的情况,后三个‘不等于’去掉不符合题目条件的情况print('a和{}比赛,b和{}比赛,c和{}比赛'.format(a,b,c))#输出结果 |
---|
结语
这个解决方法只要明确方向就比较容易想到,做题时可以先多思考再进行编写代码。