python - 学习Python else语法错误

标签 python syntax if-statement python-2.7

嗨,我正在通过做开放类(class)的练习题来学习Python MIT 6.00 Intro to Computer Science

我正在尝试做练习问题 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 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 中,您不必将 if ... elif ... else 语句的条件放在括号内,您应该删除它们。

关于python - 学习Python else语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923973/

相关文章:

python - 在 Pymongo 查询路径中使用日期时间的最佳实践?

c++ - 前置双冒号 "::"是什么意思?

jquery - 使用 JQuery 检测浏览器

python - 直接将github导入jupyter notebook?

python - python 中的 webdriver.PhantomJS 超时?

python - 进行 Pandas 比较时,如何从 np.nan>np.nan 返回 np.nan?

java - 使用 Java 的 C 语法检查器

mysql - 运行 MySQL CREATE TABLE 语句时出现语法错误

c++ - 检查用户输入是否输入了重复的数字

python - def - else 语句不起作用