Italian subtitles

← 02ps-12 Soluzione a Trova l'ultima

Soluzione alla domanda di scrivere una funzione che stampi la posizione di una stringa all'interno di un'altra

Get Embed Code
6 Languages

Showing Revision 2 created 08/01/2014 by Fran Ontanaya.

  1. Il problema richiede di definire una funzione
  2. chiamata "find_last" che riceve due parametri:
  3. una stringa sulla quale cercare, un'altra stringa che stiamo cercando
  4. L'intero scopo di questa funzione
  5. è trovare la posizione dell'ultima occorrenza di "t"
  6. Quindi usiamo una variabile chiamata "last_pos".
  7. Il piano complessivo qui
  8. è mentre continuiamo a cercare occorrenze di "t"
  9. continueremo ad eseguire la funzione "find"
  10. aggiornando il suo punto di partenza
  11. Facciamolo: "while True:"
  12. visto che non sappiamo ancora quando vogliamo finire
  13. andremo ad aggiornare la posizione
  14. usando la funzione "find"
  15. laddove cercheremo "t",
  16. ma partendo dall'utlima posizione, più 1
  17. Il "+1" è importante in modo che noi
  18. non continuiamo a cercare nella stessa stringa ripetutamente
  19. Se questa funzione ritorna "-1",
  20. vuol dire che non abbiamo trovato un'altra occorrenza di "t",
  21. Quindi vogliamo tornare alla precedente occorrenza trovata
  22. la quale si trova conservata in "last_pos"
  23. Altrimenti aggiorneremo "last_pos"
  24. con la posizione che abbiamo appena trovato
  25. Quindi l'ultima cosa rimasta è: a cosa inizializziamo "last_pos"?
  26. Se non abbiamo mai trovato alcuna occorrenza di "t" in "s",
  27. lo scopo è restituire "-1"
  28. Quindi se "position" è uguale a -1
  29. nella prima iterazione, restituiremo semplicemente "last_pos"
  30. Quindi ha senso inizializzarla a "-1"