Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

NameError: name 'value1' is not defined

I was New to Programming and Python and I was trying Tkinter then I run on this Problem, It will always run on an error when it got to the last click for the Button.
I want to get all the Value from value1-5 but it always say "NameError: name ‘value1’ is not defined".
I try defining value1-5 from inside to outside the function and class but it turn to 0 or " "

Please Help

class Spam:

    def click1():
        
        value1= (s1.get())
        Text1 = Label(window, text = value1)
        Text1.grid(row= 3)
        Print2 = Label(window, text = "2nd Number:")
        Print2.grid(row= 4)

        b1.configure( text= 'Submit',command= Spam.click2)
        s1.delete(0, END)
        
        return
    def click2():
        value2= (s1.get())
        Text2 = Label(window, text = value2)
        Text2.grid(row= 5)
        Print3 = Label(window, text = "3nd Number:")
        Print3.grid(row= 6)

        b1.configure(text= 'Submit',command= Spam.click3)
        s1.delete(0, END)
        
        return
    def click3():
        value3= (s1.get())
        result= value3
        Text3 = Label(window, text = value3)
        Text3.grid(row= 7)
        Print4 = Label(window, text = "4th Number:")
        Print4.grid(row= 8)

        b1.configure( text= 'Submit',command= Spam.click4)
        s1.delete(0, END)
           
        return
    def click4():
        value4= (s1.get())
        result= value4
        Text4 = Label(window, text = value4)
        Text4.grid(row= 9)
        Print5 = Label(window, text = "5th Number:")
        Print5.grid(row= 10)

        b1.configure(text= 'Submit',command= Spam.click5)
        s1.delete(0, END)
               
        return
    
    def click5():
        value5= (s1.get())
        result= value5
        Text5 = Label(window, text = value5)
        Text5.grid(row= 11)
        Print6 = Label(window,)
        Print6.grid(row= 12)

        s1.delete(0, END)
        b1.configure( text= 'ANALYZE',command= Spam.SumAll)
        
               
        return
    
    def SumAll():
      
        s1.delete(0, END)      
        b1.destroy()
        Sum= value1 + value2
        
        word1 = Label(text= '1st + 2nd =' + str(Sum) )
        word1.grid(row= 1, column= 1)
        
        if Sum <= value3:
            Diff= "The Sum is Smaller than the 3rd Number"
            cow = Diff
        if Sum >= value3:
            Siff= "The Sum is Larger than the 3rd Number"
            cow = Siff
        diff= Sum - value3
        
        word2 = Label(text= diff + cow  )
        word2.grid(row= 4 , column= 1 )
        
        
        return

s1 = Entry(window,width=55 ,borderwidth=5, justify='center' )
s1.grid(row= 0, column=0 ,padx = 20, pady = 40)
b1 = Button(window, text = 'Submit', command = Spam.click1)
b1.grid(row= 1, column=0 ,padx = 20, pady = 20)
Print1 = Label(window, text = "1st Number:")
Print1.grid(row= 2)

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

Did you mean to use an instance of Spam?

class Spam:

    def click1(self):
        
        self.value1= (s1.get())
        Text1 = Label(window, text = self.value1)
        Text1.grid(row= 3)
        Print2 = Label(window, text = "2nd Number:")
        Print2.grid(row= 4)
        
        b1.configure( text= 'Submit',command= self.click2)
        s1.delete(0, END)

    def click2(self):
        ...

    def SumAll(self):
      
        s1.delete(0, END)      
        b1.destroy()
        Sum= self.value1 + self.value2

# ...

s = Spam()
...
b1 = Button(window, text = 'Submit', command = s.click1)
...
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading