python fsolve

I valori in virgola mobile non sono richiamabili. Questo perché la virgola mobile memorizza i valori numerici. Non sono funzioni che restituiscono un valore particolare quando vengono chiamate. Se provi a chiamare un valore a virgola mobile come se fosse una funzione, riscontri un "TypeError: ‚Äòfloat‚Äô l’oggetto non è richiamabile" error.

In questa guida, discutiamo come funziona questo errore e perché potresti trovarlo nel tuo codice. Esaminiamo uno scenario di esempio per aiutarti a capire come risolverlo.

TypeError: ‚Äòfloat‚Äô l’oggetto non è chiamabile

Un insieme di parentesi denota una chiamata di funzione. Una chiamata di funzione indica l’esecuzione del contenuto di una funzione. è possibile chiamare solo le funzioni. Altri valori, come i punti mobili, non restituiscono valori e quindi non possono essere chiamati.

Il parametro "TypeError: ‚Äòfloat‚Äô l’oggetto non è richiamabile" si verifica un errore se si segue un valore in virgola mobile con parentesi. Questo può accadere se:

  • Hai chiamato una variabile "float" e prova a usare la funzione float() più avanti nel tuo codice.
  • Ti dimentichi un operando in un problema matematico.

Diamo un’occhiata a entrambi questi potenziali scenari in dettaglio.

Scenario n. 1: nominare una variabile "float"

Scriviamo un programma che calcoli le mance che ogni membro del personale di sala in un ristorante deve . Il ristorante divide equamente tutte le mance.

Iniziamo chiedendo all’utente di dire al programma quanto ha ricevuto in mance e quanti membri dello staff stavano lavorando in un determinato giorno utilizzando metodo input():

Successivamente, scriviamo un equazione matematica che calcola l’importo dovuto in mance a ciascun membro del personale di attesa:

l’81% dei partecipanti ha dichiarato di sentirsi più sicuro della propria tecnologia prospettive di lavoro dopo aver frequentato un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio del bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.

Arrotondiamo l’importo di ciascuno membro dello staff è dovuto a due cifre decimali in modo da avere un valore monetario che possiamo dare a ciascun membro dello staff in mance. Stampiamo questo importo arrotondato sulla console. Quindi, esegui il nostro codice e guarda cosa succede:

Il nostro codice restituisce un errore. Questo perché abbiamo assegnato un valore in virgola mobile a una variabile chiamata "float". Più avanti nel nostro codice, proviamo a usare la funzione float() per convertire un valore in float. Perché abbiamo assegnato "float" un valore numerico, il nostro codice non può chiamare la funzione float().

Per risolvere questo problema, dobbiamo rinominare la nostra variabile "float":

Abbiamo rinominato la variabile "float" in " Earned_in_tips". Eseguiamo il nostro codice:

Il nostro codice viene eseguito correttamente. Ogni membro del personale di attesa deve $ 42,86 in mance.

Scenario n. 2: operatore matematico mancante

T la causa del "TypeError: ‚Äòfloat‚Äô l’oggetto non è richiamabile" l’errore spesso può essere dovuto a un operatore matematico mancante.

Il ristorante offre un programma di bonus in cui il ristorante applica un aumento del 5% a tutte le mance guadagnate in un giorno. Ciò significa che i camerieri guadagneranno più soldi alla fine della giornata, a seconda di quante mance raccolgono.

Per tenere conto di questo aumento, dobbiamo rivedere la nostra formula per il calcolo i suggerimenti da dare ai membri dello staff:

Il nostro codice calcola l’importo dovuto a ciascun membro dello staff dividendo quanto guadagnato in mance per il numero di dipendenti che lavorano. Moltiplichiamo questo per 1,05 per calcolare un aumento del 5% delle mance totali dovute per ogni membro dello staff. Eseguiamo il nostro codice:

Riscontriamo un errore. Questo perché abbiamo dimenticato un operatore matematico nel nostro codice. 1.05 è seguito immediatamente da una serie di parentesi. Python lo tratta come una chiamata di funzione sul valore 1.05. Il nostro "staff_due" la formula dovrebbe includere un segno di moltiplicazione (*):

Il nostro nuovo codice separa il valore 1.05 e il risultato della nostra equazione matematica tra parentesi con un segno di moltiplicazione. Eseguiamo il nostro codice:

Ogni membro del personale di sala ha diritto a $45,00 dalla mancia. Ciò include il bonus del 5% che il ristorante offre al suo personale.

Conclusione

L’errore "TypeError: ‚Äòfloat‚Äô non chiamabile" viene generato quando si tenta di chiamare un numero in virgola mobile come funzione.

Puoi risolvere questo problema assicurandoti di non nominare alcuna variabile "float" prima di utilizzare la funzione float(). In caso contrario risolvi il problema, assicurati che il tuo codice includa tutti gli operandi matematici corretti.

Ora sei pronto per risolvere questo comune Errore Python come un professionista!