初学python算法100例-案例21 乒乓球比赛名单分配

Posted 技术专家团-小兔子编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学python算法100例-案例21 乒乓球比赛名单分配相关的知识,希望对你有一定的参考价值。

题目:乒乓球比赛

两个乒乓球队进行比赛,各出三人。甲队为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算法100例-案例21 乒乓球比赛名单分配的主要内容,如果未能解决你的问题,请参考以下文章

初学python算法100例-案例30 计算闰年

初学python算法100例-案例28 逆序输出每位数字

初学python算法100例-案例23 输出菱形

初学python算法100例-案例9 间隔1秒输出结果

初学python算法100例-案例29 判断回文数

初学python算法100例-案例25 阶层求和 学完你也会