Coffee
Profilo di
Nome | Coffee |
---|---|
Indirizzo email | n/a |
Messaggi | 3 |
-
- 2018-03-19 22:24:26
- Re: Aiuto:Eliminare più di una volta la sottostringa
- Forum >> Principianti
- EL DIABLO said @ 2018-03-19 21:31:22:Strano, fare funzioni ricorsive è la cosa più facile del mondo
Ho mantenuto la tua impostazione solo dove era sensata.
Questo codice funziona sia in python3 che in python2 (che è quello che stai usando, e dovevi specificarlo).def sottrai(stringa1, stringa2) : if stringa2 not in stringa1 : return stringa1 STR = "" indice = stringa1.find(stringa2) for i in range(indice) : STR = STR + stringa1[ i ] for i in range(indice + len(stringa2), len(stringa1)) : STR = STR + stringa1[ i ] return sottrai(STR, stringa2)
--- Ultima modifica di Ὅμηρος 蟒蛇 in data 2018-03-19 21:52:22 ---grazie!comunque si, mi sono confrontato con Cherry ed è una mia compagna alla quale avevo chiesto dei consigli per scrivere la mia funzione inizialeXD
grazie ancora!
-
- 2018-03-19 13:34:46
- Re: Aiuto:Eliminare più di una volta la sottostringa
- Forum >> Principianti
- Ciao Ὅμηρος 蟒蛇 grazie della tua risposta.
probabile dato che molti in classe hanno problemi con l'esercizio
per quanto riguarda la funzione ricorsiva si ci avevo pensato e ho fatto delle prove ma non riesco ad impostarla correttamente.
-
- 2018-03-19 12:04:49
- Aiuto:Eliminare più di una volta la sottostringa
- Forum >> Principianti
- Ciao a tutti sono nuovo in questo forum ed ho da poco iniziato a studiare python. Mi è stato assegnato un esercizio nel quale devo costruire una funzione che mi verifichi l'esistenza di una sottostringa in una stringa di partenza e, me la elimini tutte le volte che la incontra.
Esempio se inserisco come stringa: "mangio la mela e mangio il kiwi"
e come sotto stringa da cercare: "mangio"
l'output dovrà essere: "la mela e il kiwi"
Ora io ho costruito questa funzione ma facendo qualche tentativo mi sono accorto che cancella una sola volta la sottostringa nella prima posizione in cui la trova.
quindi output: "la mela e mangio il kiwi".
Come posso modificare il mio programma in modo da risolvere questo problema? Purtroppo mi è espressamente chiesto nell'esercizio di non usare funzioni già presenti tipo split, replace,ecc.
ecco la mia funzione anche in allegato. Grazie a tutti in anticipo.
def sottrai(stringa1,stringa2):
STR = ""
if (len(stringa1)) < (len(stringa2)):
return
elif stringa2 == "":
return stringa1
else:
indice = stringa1.find(stringa2)
print indice
contatore = stringa1.count (stringa2)
print contatore
if contatore>=1:
for i in range(indice):
STR = STR + stringa1
for i in range (indice+1+len(stringa2),len(stringa1)):
STR = STR + stringa1
cont-=1
return STR