为什么我的代码中发生语法错误?

时间:2019-02-03 04:09:17

标签: python-3.x string count syntax-error

我要使用的字符串方法:

s.count(sub [,start [,end]])

在第一个逗号处出现语法错误。

在第一个逗号处出现错误,因此我检查了好几次是否所有的'['符号或')'符号都用作集合(如'closed')。

s = input("Enter a sentence that contains at least 4 words: ")

print("c) ", ljust(s, 50, fillchar='/'))
print("d)", s.count('oh'[, 1[, 5]]))
print("e)", s.index('oh'[, 1[, 5]]))

count方法内的第一个逗号显示无效的语法错误。 仅供参考,我在错误代码的前后都附加了该行。 是否有没有被括住的括号,或者除了我所想过的之外还有其他错误吗?

1 个答案:

答案 0 :(得分:1)

您误读了s.count的语法。

s.count(sub[, start[, end]])

这意味着您用子字符串调用count,并在其后跟一个起始位置([, start部分),如果提供了该可选的起始位置,则可以在其后跟一个可选的位置。 end[, end部分)。在结束括号前的结尾处的两个]]是两个可选部分的结束符。

这意味着您可以通过以下三种方式中的任何一种来呼叫count

  • 仅通过传递子字符串

    s.count(sub)
    
  • 通过传递子字符串和开始的地方

    s.count(sub, 5)
    
  • 通过传递子字符串,开始的地方和停止的地方

    s.count(sub, 5, 15)  
    

(顺便说一句,更正此错误后,由于相同的原因,下一行s.index将会遇到相同的问题。)