初学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 乒乓球比赛名单分配的主要内容,如果未能解决你的问题,请参考以下文章