Topic: TypeError: this function takes 3 arguments (5 given)  (Letto 586 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline mario1919

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Buongiorno, sono un nuovo utente di questo forum.  Il mio nome è Mario e vorrei sapere al momento due cose. La prima è il problema che ho illustrato nell'oggetto. Ho scritto un programma  e nel lanciarlo mi da appunto questo errore:   
TypeError: this function takes 3 arguments (5 given). Desidererei, se possibile a cosa si riferisce e come posso ovviarvi.
La seconda cosa è sapere se posso postare l'intero listato (che è perlatro non è chilometrico, ma che anzi è sufficientemente breve). Grazie anticipatamente per le risposte che vorrete e potrete darmi.

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #1 il: Marzo 02, 2018, 19:52 »
Alla prima domanda non si può rispondere senza vedere il codice, come forse già sospettavi.
Alla seconda domanda la risposta è no, non puoi postare un codice chilometrico. Piuttosto, aiutandoti anche con il traceback che ti indica la riga in cui è avvenuto l'errore e lo stack delle chiamate precedenti, puoi ridurre il codice eliminando tutte le parti non necessarie, fino ad avere un esempio di lunghezza gestibile che ancora presenta l'errore.

Offline mario1919

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #2 il: Marzo 03, 2018, 02:03 »
Innanzitutto, grazie davvero per la risposta. In secondo luogo, effettivamente l'avevo percepito che effettivamente non si potesse postare una sfilza chilometrica
di righe di comando . Infine, ho trovato l'errore, peraltro banale, nel senso che invece di digitare un paio di punti, avevo digitato due virgole, nonostante fossero due giorni che controllavo e ricontrollavo. Per cui, nel cospargermi il capo di cenere, chiedo scusa per la perdita di tempo.. 

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #3 il: Marzo 03, 2018, 10:11 »
Sì, nella mia esperienza un "TypeError" per mismatch di argomenti passati è tra i più comuni tipi di errore che ottieni quando non fai test automatico del codice, e uno dei primi a sparire quando lo fai.

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #4 il: Marzo 03, 2018, 15:02 »
....
TypeError: this function takes 3 arguments (5 given). Desidererei, se possibile a cosa si riferisce e come posso ovviarvi.
...

Bene che hai risolto il tuo problema. Ora vorrei pero' farti riflettere su una cosa. Esattamente, come fai a non capire quel messaggio di errore?
Ti dice il punto esatto a cui avviene l'errore (nel traceback). E ti dice esattamente quale e' l'errore: ti dice a quale funzione che prende tre argomenti (te lo dice nero su bianco) stai passando 5 argomenti.
A questo punto devi solo guardare dove ti ha detto, contare i parametri, constatare che sono proprio 5 e mettere a posto (nel senso che guardi cosa prende la funzione, e le passi quello).

Il fatto che questo non sia ovvio non e' questione di essere principiante. E' questione di approccio: per questo intervengo. Se approcci la programmazione come una disciplina esoterica (ci sono delle "formule" -- incantesimi -- che se metto nella sequenza giusta fanno la loro magia). E' una disciplina estremamente razionale: ogni elemento di un programma fa una cosa ben precisa. E devi cercare di capire quale sia. E come si comportano quando si combinano.

Se non ti abitui a fare questa cosa, farai semplicemente molta piu' fatica per nulla.

Offline mario1919

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #5 il: Marzo 04, 2018, 17:32 »
Il discorso è in effetti molto più semplice e se si vuole stupido, nel senso che, pur guardando e riguardando quella riga di programma segnalatami dallo stesso programma, non avevo(forse o sicuramente) per un mio problema di vista(o di mancanza di diottrie, che erano virgole e non punti come invece avrebbero dovuto essere.
Andrò sicuramente da un ottimo oculista, oppure ingrandirò i caratteri a dismisura.
Detto questo e nello scusarmi nuovamente per aver fatto perdere tempo, desidererei sapere, se possibile come convertire un file .py in un file .exe, se possibile in modo
dettagòiato, dato che tutte le cose che ho visto su internet, sono a mio modo di vedere sia confuse che intelleggibili, anche perchè scritte in inglese programmatori esperti-style, per così dire.  Buona domenica.
 

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re:TypeError: this function takes 3 arguments (5 given)
« Risposta #6 il: Marzo 10, 2018, 11:41 »
Detto questo e nello scusarmi nuovamente per aver fatto perdere tempo

Non e' questo il punto. :)
E' solamente nel tuo interesse. Oggettivamente ci ho messo veramente poco a vedere il tuo errore (e lo stesso scommetto Ric). E anche a te, fra non molto, ci vorra' davvero poco.
Il punto e' solo imparare a collegare i puntini, perche' ti aiuta tanto ad imparare piu' velocemente.

Citazione
, desidererei sapere, se possibile come convertire un file .py in un file .exe, se possibile in modo

Il primo consiglio e' "lascia perdere". Il secondo consiglio, se proprio non vuoi seguire i consigli e' di cercare sul forum perche' ogni volta che arriva un utente windows che ha appena cominciato salta fuori sta domanda, che vuole dire che in pratica e' gia' stato scritto tutto il discorso piu' volte.

Citazione
dettagòiato, dato che tutte le cose che ho visto su internet, sono a mio modo di vedere sia confuse che intelleggibili, anche perchè scritte in inglese programmatori esperti-style, per così dire.  Buona domenica.

Altro consiglio... non pensare che siano confuse e inintelleggibili. Pensa che devi crescere ancora un po' di piu' per poterne fruire a pieno. A prescindere che tu avessi ragione o meno, ti aiutera' ad imparare prima.
Poi certo, su internet c'e' di tutto... confuso, chiaro... imparare a selezionare le risorse valide e' una skill utile.

Ma diciamo che se anche uno fa il bravo e scrivere per la "media", quando tu inizi e' normale fare un po' fatica. Perche' l'audience intesa e' qualcuno come te, ma con un pochetto piu' di esperienza. Ergo, te la devi fare. :)