智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=906315a76b5c14231889351088713f76

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

解法1:ASCII码
程序分析

1、将XYZ转化成对应的ASCII码

2、根据ASCII码值一一按a和c的要求对应匹配

程序代码

for i in range(ord('x'),ord('z') + 1):
    for j in range(ord('x'),ord('z') + 1):
        if i != j:
            for k in range(ord('x'),ord('z') + 1):
                if (i != k) and (j != k):
                    if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
                        print ('比赛选手对应名单:\n a -- %s\n b -- %s\n c--%s' % (chr(i),chr(j),chr(k)))
运行结果

 

解法2:列表
程序分析

1、将abc分别从XYZ列表中取值

2、然后取出的值按a和c的要求对应匹配

程序代码

for a in ['x','y','z']:
    for b in ['x', 'y', 'z']:
        for c in ['x', 'y', 'z']:
            if(a!=b)and(b!=c)and(c!=a) and (a!='x') and (c!='x') and (c!='z'):
                print('比赛选手对应名单:\n a 和 %s 比赛\n b 和 %s 比赛\n c 和 %s 比赛' %(a,b,c))
运行结果

还有更多其他的解法,欢迎一起交流学习
————————————————
我们的python技术交流群:941108876
智一面的面试题提供python的测试题
使用地址“http://www.gtalent.cn/exam/interview?token=8a33fabdc405d59c90ffca2496195543