鱼C论坛

 找回密码
 立即注册
查看: 2308|回复: 3

for 的循环问题

[复制链接]
发表于 2017-7-18 12:56:50 | 显示全部楼层 |阅读模式

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

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

x

比如说  :一道练习题:

判断是否是回文对联的 一个小程序


def ikllo(x):
        y = list(reversed(x))
        lenth = len(x)
        z = 1
        for each in range (lenth):
                if x[each] != y[each]:
                        z = 0
        if z == 1:
                print ('回文对联')
        else:
                print ('非回文对联')

其中:
for each in range (lenth):
                if x[each] != y[each]:
                        z = 0
不太理解。

如果我输入 “我好饿我”

那么   x[0] =  y[0]  z = 1,   x[1] !=  y[1]  z = 0,   x[2] !=  y[2]  z = 0,   x[3] =  y[3]  z = 0,  

最后 z 到底是多少?



最后请问  这2个函数有什么区别啊

在for 那里多了个 else

在for 那里多了个 else
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-18 13:11:59 | 显示全部楼层
上面这个。 你在for循环内 多加了一个else  如果第一个字和最后一个字是一样的,在for循环最后一次迭代的时候,就会执行else 使z=1了   
for 循环是把每一个字都拿出来比较。所有的字都一样才符合要求。因此上面是错误的

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

使用道具 举报

 楼主| 发表于 2017-7-18 14:51:59 | 显示全部楼层
yongxi 发表于 2017-7-18 13:11
上面这个。 你在for循环内 多加了一个else  如果第一个字和最后一个字是一样的,在for循环最后一次迭代的时 ...

谢谢解答。是否可以这样理解:本例题,在for循环中,如果X[each] = Y[each]  ,那么没有任何操作, 如果X[each] != Y[each]  ,那么Z = 0。这样,就算头尾一样中间不一样,Z仍然为 0 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-18 18:14:17 | 显示全部楼层
a2854825211 发表于 2017-7-18 14:51
谢谢解答。是否可以这样理解:本例题,在for循环中,如果X[each] = Y[each]  ,那么没有任何操作, 如果X ...

是的,理解正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-23 07:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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