Finish Building A Simple Calculator App - Python Tkinter GUI Tutorial #7

Поділитися
Вставка
  • Опубліковано 16 жов 2024

КОМЕНТАРІ • 280

  • @Codemycom
    @Codemycom  4 роки тому +8

    ▶️ Watch Entire Tkinter Playlist ✅ Subscribe To My UA-cam Channel:
    bit.ly/2UFLKgj bit.ly/2IGzvOR
    ▶️ See More At: ✅ Join My Facebook Group:
    Codemy.com bit.ly/2GFmOBz
    ▶️ Learn to Code at Codemy.com ✅ Buy a Codemy T-Shirt!
    Take $30 off with coupon code: youtube1 bit.ly/2VC9WUN

  • @GavenIsaacs
    @GavenIsaacs 4 роки тому +43

    Learning so much. Your down to earth manner ( including non editing out of occasional mistakes ) and good humour makes it all the more enjoyable. So big thanks!

    • @Codemycom
      @Codemycom  4 роки тому +5

      Thanks Gaven, glad you're digging it!

  • @luke_miller
    @luke_miller 4 роки тому +22

    I tired smashing the like button but ended up breaking my laptop screen. Now I can't code anything.
    Joking aside, loved the super helpful tutorial!

  • @khushidhingra6524
    @khushidhingra6524 3 роки тому +7

    Thank you for providing such videos for 'free'.
    Loved how you taught us to build the fully functional calculator!
    But there is are some problems that you might face while using the calculator.
    You can't perform calculations on floats.
    And if you divide something by zero it will give you an error.
    This is how you can solve both of these problems-
    1. Just change int into float.
    2. You can put the divide function into a try block and perform exception handing on it.
    Hope this helped you

    • @EnGentech
      @EnGentech Рік тому

      how about using float instead of integer as data type and also introducing a decimal point. ?

  • @adarshtiwari7395
    @adarshtiwari7395 4 роки тому +8

    Hey thank you for such helpful and earnest videos. You've been of great assistance in starting to build my logic in using the tkinter module

    • @Codemycom
      @Codemycom  4 роки тому +3

      Glad you enjoyed it!

  • @sreeharieditography6711
    @sreeharieditography6711 4 роки тому +3

    Man you are insane!!!!
    Hey , can you believe it I developed my own GUI calculator.!!!

    • @Codemycom
      @Codemycom  4 роки тому

      Awesome, congratulations!

  • @mikem8915
    @mikem8915 5 років тому +6

    John, wanted to say ... keep up the good work. Short, sweet, simple ... always a winning formula. This is my first Python GUI effort and I'm glad I took a look. I can already see how to build some simple apps for "admin" type tasks. I haven't looked ahead, but I'm hoping you show us how to package this up for distro. I'm a data engineer so my GUI dev skills are a bit weak. In any case, thanks.

    • @Codemycom
      @Codemycom  5 років тому +1

      Hey Mike, glad you're enjoying it. I haven't made a video to show how to package it all up and make a distributible file, but I plan on doing that soon.

  • @nikhilbhardwaj2916
    @nikhilbhardwaj2916 4 роки тому +3

    I took this calculator making as a challenge. And before watching you, I successfully made it.
    I grabbed the input as a string using get(). Like "2+6*7" or whatever.. and then using eval(), I calculated the result. That was a little smart calculator 😊... All Thanks To Your Lovely Tutorials.

  • @johnpro2847
    @johnpro2847 5 років тому +7

    Thanks ...all makes sense ..no classes ..great.Easy conversion for Python 2 or 3

  • @codyhowell5054
    @codyhowell5054 4 роки тому +1

    Best video course on python. super easy to follow and understand

    • @Codemycom
      @Codemycom  4 роки тому +2

      Awesome! Thanks! Glad you're enjoying it!

  • @ricardogalvao386
    @ricardogalvao386 8 місяців тому

    Olá, sou Brasileiro, estou começando na linguagem Python, estou gostando muito da sua didática, quero aprender mais, parabéns.

    • @Codemycom
      @Codemycom  8 місяців тому

      Thanks, glad you're enjoying them.

  • @janpaweii3115
    @janpaweii3115 2 роки тому

    im chain whatching this tutorial. Its amazing. Thank you for your help

  • @RonaldModesitt
    @RonaldModesitt 2 роки тому

    Like button smashed and subscribed. - What a great tutorial!

  • @lakshjain7105
    @lakshjain7105 4 роки тому +1

    Hi Sir, your work is great and specifically this course is very good and i have been learning tkinter here only.
    There is a suggestion that you might want to entertain: if you would stay more confident and less doubtful in your codes, that would lead to the students also being confident in your work.
    Thank You

    • @Codemycom
      @Codemycom  4 роки тому +1

      lol

    • @mr_k4tz
      @mr_k4tz 3 роки тому +3

      I prefer the honesty. It's good to know when your teacher is sure of something or when they are just 'riffing'. In the case of the latter, it's really instructive to hear them go through their thought process, just as JE does in these videos.

  • @BillGirimonti
    @BillGirimonti 4 роки тому +1

    Great explanation and gave me a few ideas for my own applications. I would suggest, though, that all the repeated code within the button_add, button_subtract, etc. functions be merged into another function to avoid duplication. All you need to do is set the global math in each of them and then hand off to the common function.
    Thanks for your efforts in explaining Python.

    • @Codemycom
      @Codemycom  4 роки тому +4

      Sure..but for purposes of teaching concepts, I like to keep code as explicit as possible.

  • @sanjaysanjay862
    @sanjaysanjay862 3 роки тому

    you are the best teacher in the world

  • @alihabib3201
    @alihabib3201 3 роки тому

    Beautifully explained. Learning and enjoying alot! Thanks!

  • @wingielee
    @wingielee 4 роки тому

    great tutorials, now am trying to execute all your tkinter projects and i had some issues with the int(f_number) whenever the answer is converted to a float. i decided to use float instead and it works well.. Thanks ones again.

    • @Codemycom
      @Codemycom  4 роки тому

      Glad you're enjoying the videos :-)

  • @meltonenterprises6761
    @meltonenterprises6761 3 роки тому

    Awesome tutorial!! Thank you for being so helpful. I finally got it all hatched out.

  • @binuscorpia
    @binuscorpia 4 роки тому +1

    You are simply great...

  • @ayushshaw3153
    @ayushshaw3153 2 роки тому +2

    great tutorials...but for this one i have a question..cant we define global variable math once and use it thorughout in various functions?

  • @mardan9111994
    @mardan9111994 2 роки тому

    Now that's what I call a quality work! Thank you so much, John, I am very new to your channel, but I am enjoying it so much! Already learnt a lot of stuff about GUI through your videos, and I have just started! Keep up the good job, sir!
    P.S. I was also wondering if there is a way to store a previous operation in a memory by means of consecutive "+" button clicking or smth similar (without clicking "=")? Say for example, I type 2, then +, then 3, then again +, then 4: so that I could get 9 instead of 7.
    I am not that good with algorythms, however I am learning. Thank you in advance, John!

    • @Codemycom
      @Codemycom  2 роки тому

      Glad you're enjoying the videos! Sure you could assign them to variables if you want to keep track of them.

  • @JollyAZ
    @JollyAZ 4 роки тому +1

    Thank you so much for this tutorial it taught me a lot

    • @Codemycom
      @Codemycom  4 роки тому

      So glad you enjoyed it! Thanks for watching!

  • @siddhantv1
    @siddhantv1 3 роки тому

    Thank you for your video... I literally have a school project I need to submit tomorrow and your video has helped a lot. Thanks💚
    I also smashed the like button :)

    • @Codemycom
      @Codemycom  3 роки тому +1

      Thanks! Good luck with your project!

  • @jorgebalagueraespinosa5936
    @jorgebalagueraespinosa5936 Рік тому

    Gracias profe, excelente trabajo.

  • @ileniavinciguerra5123
    @ileniavinciguerra5123 4 роки тому

    Great tutorial! It really helped a lot, especially since I'm an absolute beginner. I noticed a small problem: if the user clicks the equal button before doing anything else the program gives an error since we haven't defined this eventuality in the button_equal function and it doesn't recognize the variable 'math'. I solved this by creating another global variable called 'math' at the very first lines of the whole program and gave it the value 0 (it could be any value) so that, if the equal button is pressed with no reason nothing happens and the program doesn't crash. I know there wouldn't be any reason to just randomly click the equal button but it still is a possibily that the users does that so I figured this is a good way to prevent everything from crashing :)

    • @Codemycom
      @Codemycom  4 роки тому

      Good idea!

    • @udhayakumar-zt2dv
      @udhayakumar-zt2dv 4 роки тому

      I tried to implement what you said. but couln't get it. Can you provide me, what have you exactly implemneted?

    • @ileniavinciguerra5123
      @ileniavinciguerra5123 4 роки тому

      @@udhayakumar-zt2dv Before of all the button functions (basically at the very top of the program right after the import and the lines of code that create a window in tkinter) I wrote these lines: "global math
      math = 0" and then I modified every if statement in the button_equal() function by adding "math = 0" in each body to reset the value of the variable again after each calculation is executed so that, in case the user clicks the equal button before they have inserted numbers at any time, the program doesn't crash. I also realised the crash happens if the operands buttons are clicked before inserting numbers so I fixed that as well by creating another global variable right under the global math one like that "global isclicked
      isclicked = 0". When a number button is clicked by the user, the button_click() function runs so I added isclicked = 1 in its body and then I added an if statement in every operand function (button_add(), button_divide() etc.) like that "if isclicked != 0:" and then I just indented the rest of the code that is shown in the tutorial so that the computation only takes place if the number buttons are clicked before the operands ones. I then resetted the value of the isclicked variable in the body of the button_equal() function just like I did for the math one so I wrote "isclicked = 0". Hope this helps :)

    • @ileniavinciguerra5123
      @ileniavinciguerra5123 4 роки тому

      @@udhayakumar-zt2dv Here is the Repl link if you want to have a closer look repl.it/@ilevinci/Simple-calculator

  • @RandomGigabytes48
    @RandomGigabytes48 3 роки тому +2

    just made a calculator thanks sir !!

  • @varadvithalkj1716
    @varadvithalkj1716 4 роки тому

    Thanks man , this is the first app i've ever built thanks to you. One Subcriber more!!

  • @vamprock02
    @vamprock02 3 роки тому

    sir you are awesome your tutorials are sooo good.

  • @karlobucic4412
    @karlobucic4412 4 роки тому +2

    Hello from Croatia - 🇭🇷
    First, I just want to say that
    I love your videos. I think that your explaining skills are a great.
    Second - I have a question :
    I built my calculator and everything works perfect but I want to know how the Entry widget recognizes "123" as one number and not as three numbers - "1" , "2" , "3".
    Is that just how it works or what ? Because we don't need to code anything for it to do that.

    • @shivambhatt5856
      @shivambhatt5856 4 роки тому

      As we're storing those newly entered values to a variables that into a variable....Nd thus if u enter a "2" after a "1" it becomes 12....nd the interpreter as default takes the whole input for further processing.
      Hope it satisfies:)

    • @karlobucic4412
      @karlobucic4412 4 роки тому

      @@shivambhatt5856 Thanks you so much for the answer. It's going to help me with my project.

    • @shivambhatt5856
      @shivambhatt5856 4 роки тому +1

      @@karlobucic4412 My pleasure!
      Btw All The Best for your project! ;)

  • @discsanddata6021
    @discsanddata6021 3 роки тому

    Totally binge watching these right now. Please don't tell everyone how much of a nerd I am...

  • @nasrullah9249
    @nasrullah9249 4 роки тому

    the tutorial is greater than great!

  • @aakashdeep6754
    @aakashdeep6754 4 роки тому

    Thanks for the tutorial. It was great.

  • @ansh4786
    @ansh4786 2 роки тому +1

    I finally made it but i want to know how to color buttons when we click on them and when they are not clicked also how to color the text please make a video if you haven't or please share the link of video if you've made because its very difficult to find a video from a group of 202 videos.
    Thank you

  • @harikrishnan5756
    @harikrishnan5756 3 роки тому +1

    മച്ചാൻ പൊളി 😍

  • @nima.sayadi
    @nima.sayadi 4 роки тому

    Very nice video keep up the good work . I have a question however . How to subtract or divide or... many numbers ? Like 1+4+8+4 without clicking equal button . Any suggestion ?

  • @GHOST-qg1em
    @GHOST-qg1em 4 роки тому

    this video helped me a lot, thank you sir.

  • @crossfarm4146
    @crossfarm4146 4 роки тому +1

    Before you I watched this video, I attempted to accomplish this via my own problem solving skills. I literally attempted the exact same strategy, except instead of using a string variable, I used a boolean, so instead of math='addition', I did addition=True. I cant wrap my head around why it wont work, I'm sure there is something weird going on under the hood. Did I possibly just code something wrong using this strategy? or if you try this exact same method using Booleans, it causes some type of error?

    • @Codemycom
      @Codemycom  4 роки тому

      Who knows, maybe there was just a typo in your code or something.

  • @Manish_Kumar_04
    @Manish_Kumar_04 4 роки тому

    Thanks a lot!!, I've successfully made it

  • @deepakchowdary1253
    @deepakchowdary1253 3 роки тому

    stupendous!!

  • @sanjaysanjay862
    @sanjaysanjay862 3 роки тому

    simply AWESOME:)

  • @kwizerafrank4978
    @kwizerafrank4978 2 роки тому

    Thank You So Much!!!

  • @ganesdipa6855
    @ganesdipa6855 4 роки тому +1

    Hi, i suggest use eval function for less the code. Thanks for you teach me

    • @Codemycom
      @Codemycom  4 роки тому

      Sorry, I don't have a video on that

  • @theophinjohnson8234
    @theophinjohnson8234 4 роки тому

    Great work buddy

  • @w.e.a.k.9768
    @w.e.a.k.9768 4 роки тому +1

    thanks dude for the lesson dude!
    but i got a problem with the math variable, it prevent me from using function from math directory.
    maybe i should change that with another word

    • @Codemycom
      @Codemycom  4 роки тому +1

      There might be an error in your code.

    • @ChadFi
      @ChadFi 4 роки тому

      I had the same experience. I changed ‘math’ to ‘art’ and the code worked.

  • @utkarshchaubey-q9p
    @utkarshchaubey-q9p Рік тому

    nice explaination

  • @wraksyt9126
    @wraksyt9126 3 роки тому +1

    Thanksss😍♥

  • @tontsa28
    @tontsa28 4 роки тому

    Your coding videos are simply the best! But I have one question: is it possible to place a button for two rows (vertically)? I'm trying to put an exit button vertically, like for both rows 5 and 6, for the column 0, but it doesn't work? There are buttons on both rows 5 and 6 and on columns 1 and 2. (sorry for the confusing explanation)

    • @Codemycom
      @Codemycom  4 роки тому +1

      use columnspan=2 or rowspan=2 depending on which direction you want to span

    • @tontsa28
      @tontsa28 4 роки тому

      @@Codemycom thanks a ton! It didn't even come up to my mind that something like rowspan exists. I'm such an idiot :D

    • @Codemycom
      @Codemycom  4 роки тому +1

      @@tontsa28 That's why I'm here :-)

  • @abdullahmohsen8866
    @abdullahmohsen8866 4 роки тому

    thanks man, that was great but there is only one problem, when I for example add 2 + 3 it equals 5 and that's nice, but when the process is done and i kept pressing the equal button it will keep adding numbers by itself. will be grateful if you told me why is that and how to fix it

  • @rehanrimsha1774
    @rehanrimsha1774 Рік тому

    Is there any way to input decimal digits in this calculator?

  • @talhazulfiqar571
    @talhazulfiqar571 3 роки тому

    Thanks man

  • @akramelomrani8728
    @akramelomrani8728 4 роки тому

    you are so good

  • @wl7573
    @wl7573 3 роки тому

    awesome!

  • @tor6953
    @tor6953 10 місяців тому

    Thank you

  • @Jaocekeo
    @Jaocekeo 4 роки тому

    I was wondering if its right to have the same identifier for both a button object and a function e.g button_equal = Button(...), also def button_equal(): .... You have the same thing for button_add, button_subtract etc.

    • @Codemycom
      @Codemycom  4 роки тому +1

      probably not a great idea

  • @Kaisen947
    @Kaisen947 5 років тому

    I am really grateful for this tutorial but it could have been easier

  • @douglasmonteiro3085
    @douglasmonteiro3085 5 років тому

    Hi John
    I have been playing around with creation of buttons and trying to insert new functions, but failed in the Square Root thing HAHA. I - from math import * and the .sqrt functions seems to be fine to use. however I can't make it work. any tips ? I appreciate your work. I have been learning alot.
    thanks

    • @Codemycom
      @Codemycom  5 років тому +1

      I'm not sure what you're asking about, but this will work:
      from math import *
      print (sqrt(16))

  • @armymantv3972
    @armymantv3972 4 роки тому +1

    when i try to run the program it keeps saying first_number is not defined. I don't know what I'm doing wrong here

    • @Codemycom
      @Codemycom  4 роки тому

      You need to define first_number :-p

  • @raphaelmonteiro4833
    @raphaelmonteiro4833 4 роки тому +1

    The internal command PhotoImage works fine for me using png file. I cound not compile with PIL using pyinstaller, so I tried PhotoImage.

    • @Codemycom
      @Codemycom  4 роки тому

      Pyinstaller? Why would you do that? Just pip install Pillow

    • @raphaelmonteiro4833
      @raphaelmonteiro4833 4 роки тому

      @@Codemycom to build the code.

    • @raphaelmonteiro4833
      @raphaelmonteiro4833 4 роки тому

      @@Codemycom Well. Photo Image works with PNG and I thought that it was the problem that makes everybody uses pillow. The thing is I was not able to build using pyinstaller + PIL or pillow, so I use a internal tkinter function instead of use another external module. But if it has some problem, pls tel me. I dont know what kind of trouble that function could cause.

    • @Codemycom
      @Codemycom  4 роки тому

      @@raphaelmonteiro4833 You don't have to build anything. Just pip install Pillow from the terminal

  • @rajeshyadlapalli5238
    @rajeshyadlapalli5238 2 роки тому +1

    Do we have any GitHub repo link to see the code ?

    • @Codemycom
      @Codemycom  2 роки тому +1

      github.com/flatplanet/Intro-To-TKinter-UA-cam-Course

  • @sunilkjha3638
    @sunilkjha3638 4 роки тому

    Hello John..... I tried to edit the calculator...and after that in the main output, All the buttons are faraway from each other:
    Code:
    from tkinter import *
    root = Tk()
    root.title('CALC')
    e=Entry(root, font=('arial',20,'bold'), width=35, borderwidth=30 , insertwidth=4, bg='powder blue', justify='right')
    e.grid(columnspan=4)
    def button_clk(number):
    # e.delete(0, END)
    current = e.get()
    e.delete(0, END)
    e.insert(0,str(current)+str(number))
    def button_clear():
    e.delete(0, END)
    def button_add():
    first_number=e.get()
    global f_num
    global math
    math="addition"
    f_num = int(first_number)
    e.delete(0, END)
    def button_equal():
    second_number=e.get()
    e.delete(0,END)
    if math =="addition":
    e.insert(0, f_num + int(second_number))
    if math =="subtraction":
    e.insert(0, f_num - int(second_number))
    if math =="multiplication":
    e.insert(0, f_num * int(second_number))
    if math =="division":
    e.insert(0, f_num / int(second_number))
    def button_subtract():
    first_number = e.get()
    global f_num
    global math
    math = "subtraction"
    f_num = int(first_number)
    e.delete(0, END)
    def button_multiply():
    first_number = e.get()
    global f_num
    global math
    math = "multiplication"
    f_num = int(first_number)
    e.delete(0, END)
    def button_divide():
    first_number = e.get()
    global f_num
    global math
    math = "division"
    f_num = int(first_number)
    e.delete(0, END)
    #Define the buttons
    button_1 = Button(root, text="1",font=('arial',20,'bold'),bd=8, fg='black', bg='powder blue',padx=16,pady=16,command=lambda:button_clk(1))
    button_2 = Button(root, text="2",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(2))
    button_3 = Button(root, text="3",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(3))
    button_4 = Button(root, text="4",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(4))
    button_5 = Button(root, text="5",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(5))
    button_6 = Button(root, text="6",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(6))
    button_7 = Button(root, text="7",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(7))
    button_8 = Button(root, text="8",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(8))
    button_9 = Button(root, text="9",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(9))
    button_0 = Button(root, text="0",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=lambda:button_clk(0))
    button_add= Button(root, text="+",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_add)
    button_equal = Button(root, text="=",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_equal)
    button_clear = Button(root, text="C",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_clear)
    button_subtract= Button(root, text="-",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_subtract)
    button_multiply= Button(root, text="x",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_multiply)
    button_divide= Button(root, text="/",font=('arial',20,'bold'),bd=8,fg='black',bg='powder blue',padx=16,pady=16,command=button_divide)
    #Put the buttons on the screen
    button_1.grid(row= 3, column=0)
    button_2.grid(row= 3, column=1)
    button_3.grid(row= 3, column=2)
    button_multiply.grid(row=3,column=3)
    button_4.grid(row= 2, column=0)
    button_5.grid(row= 2, column=1)
    button_6.grid(row= 2, column=2)
    button_subtract.grid(row=2, column=3)
    button_7.grid(row=1 , column=0)
    button_8.grid(row=1 , column=1)
    button_9.grid(row=1 , column=2)
    button_add.grid(row=1,column=3)
    button_0.grid(row=4, column=0)
    button_clear.grid(row=4,column=1)
    button_equal.grid(row=4,column=2)
    button_divide.grid(row=4,column=3)
    root.mainloop()

    • @Codemycom
      @Codemycom  4 роки тому +1

      you gave them padx and pady's of 16 each

  • @koushikpurusoth3768
    @koushikpurusoth3768 4 роки тому +1

    watch this with 2x speed , still you can understand. cool and fast !

    • @Codemycom
      @Codemycom  4 роки тому +3

      whatever floats your boat lol

  • @triptypes
    @triptypes 4 роки тому

    Hi Dear John.İn this calculator result for example 10/2+6 or 21*2+5 not correctly.Please give me answer:)Thanks

  • @rezwanzakaria1754
    @rezwanzakaria1754 4 роки тому

    can you please tell me what happens in the following lines:
    def button_click(number):
    current = e.get()
    e.delete(0, END)
    e.insert(0, str(current) + str(number))
    My thinking is when I press the number 5 it will store it in "current" variable then insert str(current) + str(number) . Here both current, number has the same indentity (i.e. 5) . So shouldnt we get 55 by pressing the button once?

    • @Codemycom
      @Codemycom  4 роки тому

      sounds right...run the code and see for yourself

  • @bob_bobsen
    @bob_bobsen 2 роки тому

    Hey man. Been trying to create an Ans button like on Casio scientific calculators where any time you press '=', you store the value in an Answer variable that can be recalled by the button. How would I port it over to another function?

    • @Codemycom
      @Codemycom  2 роки тому

      Any time you store anything in a variable you can send it to another function in the normal way; function(variable)

  • @subramaniantr2091
    @subramaniantr2091 4 роки тому

    Hi I've been following this with a few experiments from my side as well. I was trying to make another class which inherited the existing button class. The intention was you have certain common settings for all the buttons. I was thinking of click function as well in the class which would take the text of the button and put it in the entry box. Could you please tell what could be the syntax for the command. I tried putting
    (self).click, as mentioned in some link. But it doesn't seem to work. I would have to pass the word self to the function click in order to make it work which is not accepted as "self" isn't getting recognised.

    • @Codemycom
      @Codemycom  4 роки тому

      Sorry, not sure what you mean

    • @SenthilManikandan
      @SenthilManikandan 4 роки тому

      Tkinter itself uses "mixin" classes to "internalize" and handle the requests, but when you create your button class it does not inherit from tkinter superclass and hence self won't be recognised when you try to pass it to a button class inherited from tkinter base class.

  • @anandhakrishnan7354
    @anandhakrishnan7354 4 роки тому

    Thanks for the tutorial. I would like to ask a question. Instead of using the (global f_num and global math) as a global variable inside each function, why can't we have this outside the function? because it is a global variable right ? just had this doubt. pls, clarify me. It would be great.

    • @Codemycom
      @Codemycom  4 роки тому

      Try it and see. There are always multiple ways of doing things

    • @princegupta8022
      @princegupta8022 4 роки тому

      It not show output by declaring variable outside the function...
      What about your code?

    • @Codemycom
      @Codemycom  4 роки тому

      @@princegupta8022 Sorry, I don't know what you mean

    • @princegupta8022
      @princegupta8022 4 роки тому

      @@Codemycom when I declare variables globally like this
      Math =StringVar()
      f_num = IntVar()
      Calculator not give any output?

    • @SenthilManikandan
      @SenthilManikandan 4 роки тому +1

      @@princegupta8022 Global variables have to be declared global within the function. Otherwise python recognizes it as another variable.

  • @alemiggaming4140
    @alemiggaming4140 3 роки тому

    How can I make the calculator in a way where after you click equals, the first thing you type in AFTER that removes the answer to the previous problem, instead of always having to click clear afterwards?

  • @tomporter2164
    @tomporter2164 4 роки тому

    great tutorials

    • @Codemycom
      @Codemycom  4 роки тому

      Thanks! Glad you like them.

  • @DisgruntledVet
    @DisgruntledVet 4 роки тому +1

    When I tried to add, subtract, divide, or multiply the answer from a division answer that was a decimal, I would get an error. I changed all the int to float and now its all fine.

  • @larsdierickx7543
    @larsdierickx7543 2 роки тому

    How do i add comma's in the input like a extra button ',' and make it work?

    • @Codemycom
      @Codemycom  2 роки тому

      Sorry, not sure what you mean

  • @frall2294
    @frall2294 4 роки тому

    How should I define point button for example if I want to write 5.25 * 70.56789 ?

    • @Codemycom
      @Codemycom  4 роки тому +1

      Just use floats instead of ints

  • @matthewkeen6281
    @matthewkeen6281 2 роки тому

    nice..

  • @elpatron6156
    @elpatron6156 4 роки тому

    Can I ask you a question? I want to make square root button work, but every time when I make a function and when I press the button, it doesn't work.
    Can you tell me why?

    • @Codemycom
      @Codemycom  4 роки тому

      Not without seeing your code

  • @aryanvaghasiya2342
    @aryanvaghasiya2342 3 роки тому

    Can we add Circle buttons instead of Square ?

    • @Codemycom
      @Codemycom  3 роки тому

      Yes, I have videos on that in the playlist

    • @aryanvaghasiya2342
      @aryanvaghasiya2342 3 роки тому

      @@Codemycom ooh, thanks for the reply.👍

  • @raymondzhao9557
    @raymondzhao9557 Рік тому

    coooooooooooooooooool

  • @dumidupramith3881
    @dumidupramith3881 4 роки тому

    super

  • @tapeshvashisth7726
    @tapeshvashisth7726 4 роки тому

    Please help me sir!!! I made calculator of my own but when i am using int with get() as you have done, then i am getting the following error invalid literal for int with base 10 but your works fine with it.. Please help

    • @Codemycom
      @Codemycom  4 роки тому

      Check your code for typos. It has to be exact

    • @tapeshvashisth7726
      @tapeshvashisth7726 4 роки тому

      Sir I got my mistake . My mistake for that while creating buttons I wrote text="5" and because of this I was not able to convert it to int type but now it's fixed😂😂😂

    • @Codemycom
      @Codemycom  4 роки тому

      @@tapeshvashisth7726 Glad you figured it out :-)

  • @BiquiRaccoon
    @BiquiRaccoon 4 роки тому

    I did exactly same coding with yours. But I keep getting this error [AttributeError: 'Button' object has no attribute 'gird'] I did googling but I can't figure out what is problem. Can you help me?

    • @Codemycom
      @Codemycom  4 роки тому

      You misspelled grid, you spelled it gird.

  • @_89_shrutikumari85
    @_89_shrutikumari85 4 роки тому

    Sir I need a code to add factorial button in calculator... Plzz help... I tried so many times

  • @sean9584
    @sean9584 4 роки тому

    Does anyone happen to know why *global f_num* and *global math* are returning *is not defined in the global scope* errors? I followed the tutorial step-by-step but always end up with the same error. FYSA: My calculator works with the errors, but don't know why.

  • @johnpro2847
    @johnpro2847 4 роки тому

    how to make numbers appear on right side like as in real calculators ?

    • @Codemycom
      @Codemycom  4 роки тому

      real calculators?

    • @sahejsingh9732
      @sahejsingh9732 4 роки тому +1

      e = Entry(root, justify=RIGHT)
      by using justify=RIGHT the numbers will appear on right side

  • @DavSetYT
    @DavSetYT 2 роки тому

    And how can we do when we divide a number by zero?

  • @رادیندولتی
    @رادیندولتی 2 роки тому

    💚💚

  • @infinitespace1982
    @infinitespace1982 4 роки тому

    For some reason my program registers when I want to add numbers, but it doesn't register the other operations (* / -) and just deletes whatever is in the data entry box.

  • @sahejsingh9732
    @sahejsingh9732 4 роки тому

    it would be better if you have used "eval" function
    but i was the best tutorial

    • @Codemycom
      @Codemycom  4 роки тому

      better is relative :-p

  • @vishalkumaresan8420
    @vishalkumaresan8420 4 роки тому

    great model, but i am confused on adding functions like square root in this program

    • @Codemycom
      @Codemycom  4 роки тому

      Confused how?

    • @vishalkumaresan8420
      @vishalkumaresan8420 4 роки тому

      @@Codemycom what should be the logic for it...I do it with math function sqrt, but I get an error called sqrt is not declared

    • @Codemycom
      @Codemycom  4 роки тому

      @@vishalkumaresan8420 You need to import math:
      import math
      math.sqrt(12)
      where 12 is whatever you want to calculate

  • @arunbeckham8384
    @arunbeckham8384 4 роки тому

    Hai!! i am getting error near def button_substract(): return. What to do to rectify?

    • @Codemycom
      @Codemycom  4 роки тому

      What's the whole error?

    • @arunbeckham8384
      @arunbeckham8384 4 роки тому

      @@Codemycom unindent doesn't match

    • @Codemycom
      @Codemycom  4 роки тому

      @@arunbeckham8384 Indentation has to be exactly as I do in the video.

  • @musakayasimp6456
    @musakayasimp6456 4 роки тому

    hello i just wanted to say that i followed the steps step by step but when i finished it says that f_num is not defined please Help

    • @Codemycom
      @Codemycom  4 роки тому +1

      You missed a step then. Check your code.

  • @اصنعهابنفسك-ر8م
    @اصنعهابنفسك-ر8م 4 роки тому

    I have a problem with this line it stile say to me something wrong in this line
    Button_1=Button(root, text="1", padx=40, pady=20, command=Lambda: Button_click(1))

    • @Codemycom
      @Codemycom  4 роки тому +1

      Lambda should not be capitalized.

  • @sannihith4204
    @sannihith4204 4 роки тому

    3 test cases were not passing like 2+3+4= it fails and if we click2+ and then hit clear the enter 3= it gives 5 and 2= also fails !!
    can anyone suggest how to rectify those

  • @jonathanameyo3608
    @jonathanameyo3608 4 роки тому

    Hello Codemy, with this code i don't understand why it it is duplicating my answer eg if I say 2+3 answer is supposed to be 5 but mine is saying 55.Please assist me or anyone who knows what my problem is?

    • @Codemycom
      @Codemycom  4 роки тому

      rewatch the video, I address that

  • @tinotendagarwe4929
    @tinotendagarwe4929 Рік тому

    one thing i noticed is you keep repeating code
    like cant we inherit and use functions such as eval() instead the if statement

    • @Codemycom
      @Codemycom  Рік тому

      of course you can do whatever you want. I repeat code to be explicit as I can so people easily learn.

  • @Damtrax666
    @Damtrax666 4 роки тому

    Thanks Calvirris

  • @ipyb4u
    @ipyb4u 4 роки тому

    My program isnt working right, the subtract button isnt showing up?

    • @Codemycom
      @Codemycom  4 роки тому

      Check your code for typos..it has to be exact

  • @sohaibss8073
    @sohaibss8073 4 роки тому

    Hi i want to make this calculator ready for use to user , when he need to use this calculator i want him just clique on a file or something and this calculator show up

    • @Codemycom
      @Codemycom  4 роки тому +1

      I have a video in this playlist that shows you how to create an executable exe file.

  • @aneeshmalapaka8363
    @aneeshmalapaka8363 4 роки тому

    hey can anyone help me with printing exceptions the entry widget...like when u divide by zero,u get nothing so i wanna print out cannot divide by zero....any ideas how??

    • @Codemycom
      @Codemycom  4 роки тому +1

      Use an if statement to determine if they are trying to divide by zero, and IF so, output your message.

    • @aneeshmalapaka8363
      @aneeshmalapaka8363 4 роки тому

      That was the first thing i did but the output msg is not printing...like if i say,
      if math=="division" and second number ==0 :
      (at this step i tried, e.insert, print, but it is blank...i will try again and notify..)

  • @VickySingh-ig1kl
    @VickySingh-ig1kl 2 роки тому

    Where can have this source code ??

    • @Codemycom
      @Codemycom  2 роки тому

      github.com/flatplanet/Intro-To-TKinter-UA-cam-Course

  • @pimmpoll1471
    @pimmpoll1471 3 роки тому

    Getting confused, how did the calculator know that it needs to multiply or divide? The global variable math is only been given a string which "substract" etc...

    • @nileshgaikwad4175
      @nileshgaikwad4175 3 роки тому +1

      for example: when you are pressing '/' button, the command is function button_divide, in that function math == division.
      I am also a beginner and thought over your question.

    • @pimmpoll1471
      @pimmpoll1471 3 роки тому

      @@nileshgaikwad4175 Thanks

  • @kpoornodaysriram5568
    @kpoornodaysriram5568 11 місяців тому

    While running the code , The columns are showing gap in between eachother

    • @Codemycom
      @Codemycom  11 місяців тому

      What did you do differently from the video?