count
chiama la funzione find
per vedere quante volte è possibile trovare una lettera in Word a partire da un determinato indice (vedere "il codice" di seguito).Doppia uscita quando si chiama una funzione attraverso un'altra
La parte confusa: Utilizzando la funzione "conteggio", ottengo il seguente output programma:
Come si può notare, alcuni risultati sono duplicati (segnate in rosso). Come si può evitare senza rimuovere la stampa da find? È possibile o sono obbligato a rimuoverlo (la stampa)? Capisco che queste due funzioni possono essere trasformate in una più semplice, ma voglio capire come chiamare una funzione usando un'altra.
Devo anche menzionare che il valore del conteggio delle variabili è corretto. Gli unici problemi sono le uscite duplicate.
Il codice:
def find(word, letter, index):
start_ind = index
while index < (len(word)):
if word[index] == letter:
print "%s found at index %s" % (letter, index)
return index
index += 1
else:
print "%s is not found in string '%s' when starting from index %s" % (letter, word, start_ind)
return -1
def count(word, letter, index):
count = 0
while index < len(word):
if find(word, letter, index) != -1:
count += 1
index = find(word, letter, index) + 1
print "%s is shown %s times in '%s'" % (letter, count, word)
count("banana", "a", 0)
È questo indentazione ESATTAMENTE come l'hai? –
dubito che _chuckle_ –
Chiamate per "trovare" la funzione 2 volte nel vostro ciclo while. Ogni volta che viene chiamato stampa un messaggio. Limitare l'uso della funzione con 1 volta e il problema sarà risolto. – Vadim