鱼C论坛

 找回密码
 立即注册
查看: 2839|回复: 4

[已解决]求大神看看这一段话什么意思啊

[复制链接]
发表于 2018-5-31 20:22:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for i in range(ord('x'),ord('z') + 1): #这一行是什么意思呢?特别是这个+1
最佳答案
2018-5-31 20:43:19
源代码是算法的体现, 我个人的理解如下

for i in range(ord('x'),ord('z') + 1): # 相当于甲队的a
    for j in range(ord('x'),ord('z') + 1):# 相当于甲队的b
        if i != j: #同一队不比 a ,b
            for k in range(ord('x'),ord('z') + 1): #相当于甲队的c
                if (i != k) and (j != k): #同一队不比 a c ,b c
                    if (i != ord('x')) and (k != ord('x')) and (k != ord('z')): #a说他不和x比,c说他不和x,z比
                        print ('order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k)))  #剩下满足条件的组合就是答案了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-31 20:26:23 | 显示全部楼层
本帖最后由 thexiosi 于 2018-5-31 20:32 编辑

hi 可以分解如下:本质还是基本的for循环语句

>>> ord('a') #ord()函数可以返回字符的ASCII码
97
>>> ord('x')
120
>>> ord('z')
122
>>> for i in range(120, 122+1): #数学运算
        print(i)

       
120
121
122
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-31 20:32:00 | 显示全部楼层
thexiosi 发表于 2018-5-31 20:26
hi 可以分解如下:本质还是基本的for循环语句

>>> ord('a') #ord()函数可以返回字符串的ASCII码

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定
   比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
   三队赛手的名单。    其实我是在做这一道题
源代码如下:
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 ('order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-31 20:43:19 | 显示全部楼层    本楼为最佳答案   
源代码是算法的体现, 我个人的理解如下

for i in range(ord('x'),ord('z') + 1): # 相当于甲队的a
    for j in range(ord('x'),ord('z') + 1):# 相当于甲队的b
        if i != j: #同一队不比 a ,b
            for k in range(ord('x'),ord('z') + 1): #相当于甲队的c
                if (i != k) and (j != k): #同一队不比 a c ,b c
                    if (i != ord('x')) and (k != ord('x')) and (k != ord('z')): #a说他不和x比,c说他不和x,z比
                        print ('order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k)))  #剩下满足条件的组合就是答案了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 09:00:16 | 显示全部楼层
只不过将xz转换为int类型,然后进行循环而已
只要搞定逻辑了这类问题有很多种写法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 10:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表