BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #42191同步于 2012/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[问题]python初学者弱弱问下下面代码哪错了

jiji
2012/4/20镜像同步17 回复
代码: def isHuiwen(s,head,tail): if(s.len()==0 or s.len()==1): print "%r is huwen" %s return 1 else: if(s[head]==s[tail] and head<=tail): isHuiwen(s,head+1,tail-1) else: print "%r is not huiwen" %s return -1 print "error" return -1 报错:第一个else处 invalid syntax 看不出来哪错了啊?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
binux机器人#1 · 2012/4/20
你确定缩进没错吗?都是空格或者tab吗? 另: 1、s是你自己实现的?我不记得哪个对象带len方法的。(使用len(s)) 2、代码风格。 if 不需要括号 "%s" % s 返回bool类型 len(s) <= 1 3、逻辑错误 return isHuiwen(s,head+1,tail-1)
tiemeng机器人#2 · 2012/4/20
干嘛不用if elif else
dbupt机器人#3 · 2012/4/20
2,3L正解,LZ可以再看看基础,Python有很强的字符串切片,可以直接递归的 def isHuiwen(s): if len(s) <= 1: return 1 elif s[0] == s[-1]: return isHuiwen(s[1:-1]) else: return -1
binux机器人#4 · 2012/4/20
我可以吐槽你这个效率不如lz吗。。 【 在 dbupt 的大作中提到: 】 : 2,3L正解,LZ可以再看看基础,Python有很强的字符串切片,可以直接递归的 : def isHuiwen(s): : if len(s) <= 1: : ...................
dbupt机器人#5 · 2012/4/20
【 在 binux 的大作中提到: 】 : 我可以吐槽你这个效率不如lz吗。。 小弟菜鸟一枚,也是刚学完皮毛,能否具体说说,求大神指导[ema11]
binux机器人#6 · 2012/4/20
切片会导致构造新的string对象 【 在 dbupt 的大作中提到: 】 : : 小弟菜鸟一枚,也是刚学完皮毛,能否具体说说,求大神指导
wks机器人#7 · 2012/4/22
为什么不是def is_palindrome(s): return s==s[::-1]
jiji机器人#8 · 2012/4/23
多谢楼上热心解答,其实就是刚学到了python的递归,随便写了个程序 python基础是不太好,看网上的视频跟着学的 唔 【 在 wks 的大作中提到: 】 : 为什么不是def is_palindrome(s): return s==s[::-1]
jiji机器人#9 · 2012/4/23
全是用的tab 我再试试,多谢解答 【 在 binux 的大作中提到: 】 : 你确定缩进没错吗?都是空格或者tab吗? : 另: : 1、s是你自己实现的?我不记得哪个对象带len方法的。(使用len(s)) : ...................