2016-10-15 1 views
0

Рассмотрим:В Python почему некоторые люди включают len (s) -2 в некоторых случаях для поиска слова в строке?

s = input("Enter a string") 
n=0 
for count in range(len(s)): 
    if s[count:count+3] == "bob": 
    n = n+1 
print("Number of times bob occurs is: " ,n) 

Почему некоторые люди используют range(len(s)-2) в коде вместо range(len(s)) хотя и дать правильный выход?

Я просто не понимаю len(s)-2 часть.

+0

уточните ваш вопрос. Неясно. –

+0

Почему вы не используете 'count'? Попробуйте использовать это 's.count ('bob')' –

+7

Это просто микро-оптимизация. Поскольку вы ищете слово длиной 3, вы можете остановиться, когда знаете, что нет более 3 слов, доступных для обработки – sisanared

ответ

1

Последние два значения count в цикле for, count = len(s)-2 и len(s)-1 приводят к подстрокам с 2 или 1 символами, которые не могут быть равны 3 символьной строке.

0

"bob" имеет три символа. Поэтому, если мы хотим найти «bob» из данного слова, вам нужно только проверить до [-3] письмо ...

Вот почему люди ищут до len (s) -2.

Смежные вопросы