Topic: Aiuto su una funzione  (Letto 62 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline m77it

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Aiuto su una funzione
« il: Aprile 30, 2020, 11:05 »
Scusate, ho trovato da me l'errore, parentesi tonda invece di quadra...

Buongiorno,
sto cercando di imparare Python e sto usando il libro di Allen Downey.
Ad un certo punto, paragrafo 8.6, parla di una funzione per cercare una lettera in una stringa.
Ho scritto l'esempio che lui propone ma ottengo un errore. Pare ci sia un problema di formato ma non capisco dove.
Metto di seguito tutto, da def a return -1 e' quel che era sul libro.
Grazie dell'aiuto :)
Marco

def trova (parola, lettera):
    indice = 0
    while indice < len(parola):
        if parola(indice) == lettera:
            return indice
        indice = indice + 1
    return -1
frutto= 'banana'
lettera='b'
#alfab = 'n'
#conta = trova(frutto, alfab)
#print (conta)
trova(frutto, lettera)



Errore che mi da'

Traceback (most recent call last):
  File "C:/Users/m77it.000/Documents/Pythontest/trova.py", line 13, in <module>
    trova(frutto, lettera)
  File "C:/Users/m77it.000/Documents/Pythontest/trova.py", line 4, in trova
    if parola(indice) == lettera:
TypeError: 'str' object is not callable
>>>

« Ultima modifica: Aprile 30, 2020, 11:26 da m77it »

Offline nuzzopippo

  • python erectus
  • ***
  • Post: 228
  • Punti reputazione: 0
    • Mostra profilo
Re:Aiuto su una funzione
« Risposta #1 il: Aprile 30, 2020, 12:45 »
...
        if parola(indice) == lettera:
...

Bisogna stare attenti al tipo di parentesi che si usa, sono molto significativi.
per ricercare un indice (di lista, tupla, etc ... ed anche in una stringa) si utilizza la parentesi quadra, modifica quella istruzione così :
if parola[indice] == lettera:

se le indentazioni sono a posto (come hai scritto non si vede bene), funzionerà

Ciao

Offline m77it

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re:Aiuto su una funzione
« Risposta #2 il: Aprile 30, 2020, 13:14 »
Grazie  :)

Offline nuzzopippo

  • python erectus
  • ***
  • Post: 228
  • Punti reputazione: 0
    • Mostra profilo
Re:Aiuto su una funzione
« Risposta #3 il: Aprile 30, 2020, 15:29 »
Prego ... anche se mi era sfuggito che avevi già trovato la risposta da Te

Ciao :)