[Python] Esercizio su stringhe

Str11
Salve, la traccia di un esercizio chiede: "Data una serie di caratteri f in input ed una stringa s verificare quante volte tale stringa si presenta nella prima stringa".
La soluzione proposta durante le lezioni dal docente è stata questa:
def findOccurrence(f,s):
  n=0
  if s>f:
    return 0
  elif s is f:
    return 1
  else:
    for i in range(len(f)-len(s)+1):
      cont=0
      for j in range(len(s)):
        if f[i+j]==s[j]:
          cont+=1
      if cont==len(s):
        n+=1
  return n

Quello che non capisco è perché dobbiamo scrivere
for i in range(len(f)-len(s)+1)
e non (come avevo pensato di scrivere, ma dà errore)
for i in range (len(f))

Risposte
Umby2
immagina che la stringa F sia composta da 100 caratteri,
e la stringa S sia composta da 6 caratteri,
basta che ti fermi a 95, senza arrivare a 100!!!

Str11
Hai ragione.
Grazie :)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.