返回信息流代码:
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
看不出来哪错了啊?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #42191同步于 2012/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
[问题]python初学者弱弱问下下面代码哪错了
jiji
2012/4/20镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你确定缩进没错吗?都是空格或者tab吗?
另:
1、s是你自己实现的?我不记得哪个对象带len方法的。(使用len(s))
2、代码风格。
if 不需要括号
"%s" % s
返回bool类型
len(s) <= 1
3、逻辑错误
return isHuiwen(s,head+1,tail-1)
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
我可以吐槽你这个效率不如lz吗。。
【 在 dbupt 的大作中提到: 】
: 2,3L正解,LZ可以再看看基础,Python有很强的字符串切片,可以直接递归的
: def isHuiwen(s):
: if len(s) <= 1:
: ...................
多谢楼上热心解答,其实就是刚学到了python的递归,随便写了个程序
python基础是不太好,看网上的视频跟着学的
唔
【 在 wks 的大作中提到: 】
: 为什么不是def is_palindrome(s): return s==s[::-1]
全是用的tab
我再试试,多谢解答
【 在 binux 的大作中提到: 】
: 你确定缩进没错吗?都是空格或者tab吗?
: 另:
: 1、s是你自己实现的?我不记得哪个对象带len方法的。(使用len(s))
: ...................