def substitua(s, velha, nova): ''' (str, str) -> str Recebe três strings: s, velha, e nova. Retorna uma string t que é obtida percorrendo-se a string s e substituindo-se cada ocorrência da string velha pela string nova, a medida que velha é encontrada em s. Exemplos: >>> substitua("Catarina viu uma tarantula em cima da tartaruga", "a", "-|.") 'C-|.t-|.rin-|. viu um-|. t-|.r-|.ntul-|. em cim-|. d-|. t-|.rt-|.rug-|.' >>> substitua("Catarina viu uma tarantula em cima da tartaruga", "tar", "") 'Caina viu uma antula em cima da uga' >>> substitua("comer correr conter c", "er c", ".") 'com.orr.ont.' >>> substitua("nanananan", "nan", "x") 'xaxan' ''' t = "" nV = len(velha) n = len(s) i = 0 # prefixo de s[i:] será comparado com a string velha while i < n: if s[i:i+nV] == velha: t += nova i += nV else: t += s[i] i += 1 return t
Fórum