Почему в моем коде возникает синтаксическая ошибка? - PullRequest
0 голосов
/ 03 февраля 2019

Строковый метод, который я хочу использовать:

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

Произошла синтаксическая ошибка в первой запятой.

Ошибка возникает в первой запятой, поэтому я несколько раз проверял, используются ли все знаки «[» или «)» как набор (как в «закрытом»).

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 голосов
/ 03 февраля 2019

Вы неправильно читаете синтаксис 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 на следующей строке, как только вы исправите это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...