Vorrei ottenere la somma attraverso il bottone (python)

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Fabio Masiello

Nuovo Utente
Messaggi
48
Reazioni
1
Punteggio
25
Non riesco a capire nella stringa bottone di python cosa devo inserire in command datochè sum non è possibile inserirlo.
Sullo screenshot #3 button
Domanda 1.webp Domanda.webp
 
Ultima modifica da un moderatore:
Per favore pubblica il codice usando il tag CODE come spiegato nel regolamento di sezione, con gli screenshot si capisce ben poco. Non devi necessariamente pubblicare tutto il codice, magari solo le parti relative al problema.
 
Codice:
#1 iniziallizzazione variabili di tipo intero
op1=tkinter.DoubleVar()
op2=tkinter.DoubleVar()
result=tkinter.DoubleVar()
#2Creazione caselle di testo____________________
tkinter.Entry(Principale,textvariable=op1).pack()
tkinter.Entry(Principale,textvariable=op2).pack()
#3Bottone
tkinter.Button(Principale,text="Esegui la somma",command=sum()).pack()   (Questa riga)
tkinter.Label(Principale,textvariable=result).pack()
Cosa devo inserire in command per ottenere la somma?
Mi da errore per il comandop sum.
Grazie in anticipo,.
 
@Fabio Masiello a questo giro l'ho corretto io, devi usare i tag [CODE]TUO CODICE[/CODE] per renderlo leggibile a noi comuni mortali..
Inoltre sarebbe opportuno avere l'intero codice, visto che la IDE ti dice che hai degli errori
 
Quando dici “mi da errori” ci aiuta molto poco, perché non ci dici invece il messaggio di errore, che in genere si spiega da solo.
E non ci hai postato la definizione della funzione sum()
La sintassi è sbagliata comunque, devi togliere le parentesi a sum:

Codice:
Button(Principale,text="Esegui la somma",command=sum)
 
Con questa correzione non mi riporta il risultato
File "C:\Users\fabio\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
TypeError: sum() takes at least 1 positional argument (0 given)
Qualora dessi degli argomenti lo stesso non va

imaggine.webp
 
Ultima modifica da un moderatore:
Beh, mi pare che il messaggio di errore sia più che chiaro: hai definito una funzione (sum) che richiede parametri, per passare i parametri dentro la callback di un buttone devi usare l’espressione lambda. Ma c’è un metodo più semplice: definisci sum() senza parametri, la funzione può prendere da sola i parametri leggendo il contenuti dei tuoi Entry
 
return self.func(*args)
TypeError: sum() takes at least 1 positional argument (0 given)
mi restituisce questo
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top