学习Python else语法错误
大家好,我正在为开放课程做练习题来学习python 我试图做练习题1第2部分创建一个递归函数来计算目标中键的实例。我的代码到目前为止学习Python else语法错误,python,syntax,if-statement,python-2.7,Python,Syntax,If Statement,Python 2.7,大家好,我正在为开放课程做练习题来学习python 我试图做练习题1第2部分创建一个递归函数来计算目标中键的实例。我的代码到目前为止 from string import * def countSubStringMatchRecursive (target, key,x,s): if (find(target,key)==find(target,key,s)) and (find(target,key)==find(target,key,(find(target,key)))):#if f
from string import *
def countSubStringMatchRecursive (target, key,x,s):
if (find(target,key)==find(target,key,s)) and (find(target,key)==find(target,key,(find(target,key)))):#if first and last
return (1)
elif (find(target,key)==find(target,key,s))and (find(target,key)!=find(target,key,(find(target,key)))):#if first but not last
x=1
s= find(target,key)
return (countSubStringMatchRecursive(target,key,s,x)
elif (find(target,key,s))==-1 and (find(target,key)!=find(target,key,s)):#if last but not first
return (x+1)
elif:(find(target,key,s))!=-1 and (find(target,key)!=find(target,key,s)):#if not last and not first
x=x+1
s= find(target,key,s)
return (countSubStringMatchRecursive(target,key,s,x)
我在第8行遇到语法错误。我只是想知道我做错了什么。别担心其他的错误,我应该能把它们解决掉。我只是坚持这一点。谢谢。第8行和最后一行缺少一个右括号。实际上,不需要相应的左括号,您不妨重写这些行,如下所示:
return countSubStringMatchRecursive(target,key,s,x)
此外,正如@rodion在评论中指出的,最后一个elif
有一个错位的:
,请删除右括号前的一个
谈到括号:在Python中,如果。。。埃利夫。。。否则语句在括号内,您应该删除它们。您的括号不匹配。删除行首附近的
(
),或在行尾添加一个)
。第8行有一个不匹配的paren。在末尾添加另一个关闭参数
return(countSubStringMatchRecursive(目标、键、s、x))
同样的情况也适用于您的最终返回声明。有几个问题:
elif
后面有一个:
,需要
删除。即
elif: expression:
应该是
elif expression:
return (countSubStringMatchRecursive(target,key,s,x))
return (countSubStringMatchRecursive(target,key,s,x)
应该是
elif expression:
return (countSubStringMatchRecursive(target,key,s,x))
()
s。。它们不会造成任何伤害,但它们不是必需的,并且可能会降低代码的可读性
return (countSubStringMatchRecursive(target,key,s,x)
您缺少一个结束语
)
。但你也不需要开场白;return
语句的语法是return
,因此任何有效表达式都可以直接跟随return
。任何有效表达式都仍然是有效表达式,如果用括号括起来,则其含义完全相同,但大多数情况下,这只会在不需要时增加噪音。上一个elif
表达式前有一个冒号。也可能是个问题。如果您遵循中的指导原则,其他人会发现阅读Python代码更容易。你会发现它也更容易阅读!!!谢谢你的评论,非常有帮助。我已经修复了我发现的问题和更多问题,并且工作正常。:)谢谢你的评论,非常有帮助。我已经修复了我发现的问题和更多问题,并且工作正常。:)谢谢你的评论,非常有帮助。我已经修复了我发现的问题和更多问题,并且工作正常。:)谢谢你的评论,非常有帮助。我已经修复了我发现的问题和更多问题,并且工作正常。:)谢谢你的评论,非常有帮助。我已经修复了我发现的问题和更多问题,并且工作正常。:)