Education © 2017 • Created with WebWave

 

Pasjonatg@gmail.com

 

Zapraszam do współpracy

 

 

 

 

 

Python - tworzenie kalkulatora

W tym poradniku stworzymy kalkulator graficzny z podstawowymi funkcjami typu dodawanie, odejmowanie, mnożenie, dzielenie.

 

Zaczniemy od uruchomienia IDLE Python z pasku aplikacji:

 

 

Następnie tworzymy nowy plik: file -- new file:

 

 

W nowym oknie warto dać options -> Hide Line number, żeby po kolei każdy wiersz był numerowany. 

 

Tworzenie kalkulatora w wersji graficznej :

 

Poniżej zamieszczam kod źródłowy wraz z jego omówieniem (wpisujemy linijka po linijce), żeby wszystko było jasne.

 

import tkinter    // komenda odpowiedzialna za import biblioteki w języku Python, która umożliwia wgrywanie grafik

 

zrodlo = tkinter.Tk() // wprowadzamy zmieną "zrodlo" ktora tworzy obszar graficzny w naszym programie 

 

zrodlo.title("Kalkulator graficzny") // kod odpowiedzialny za nazwę naszego  programu na pasku 

 

 

# dzialania kalkulatora

 

 

ekspresja = ""                                                        // kod odpowiedzialny wywołanie działań kalkulatora 

 

 

# Tworzone funkcje

 

 

def dodaj(value):                                                // kod odpowiedzialny za defincję operacji i dodania wartości z kalkulatora 
    global ekspresja                                             // kod odpowiedzialny za dodanei globalnej wartości dla działania kalkulatora 
    ekspresja += value                                        // kod odpowiedzialny za dodanie działania kalkulatora przyjętej jako wartości z przycisków  
    etykieta_wynik.config(text=ekspresja)       // kod odpowiedzialny za dodanie tekstu do wyniku kalkulatora 

 

def wyzeruj():                                                    // kod odpowiedzialny za dodanie operacji zerowania kalkulatora 
    global ekspresja                                           // kod odpowiedzialny za dodanei globalnej wartości dla działania kalkulatora 
    ekspresja =""                                                 // kod odpowiedzialny za dodanie działania kalkulatora do wyświetlania 
    etykieta_wynik.config(text=ekspresja)      // kod odpowiedzialny za dodanie tekstu do wyniku kalkulatora 

    
def wylicz():                                                       
// kod odpowiedzialny za dodanie operacji działania (liczenia) kalkulatora 

 


    global ekspresja                                           // kod odpowiedzialny za dodanie operacji zerowania kalkulatora 
    wynik = ""                                                     // kod odpowiedzialny za dodanie wyniku kalkulatora do wyświetlania 
    if ekspresja != "":                                        // jeżeli zmienna działania nie jest równa przyjętej wartości 
       try:                                                            // jeżeli zmienna działania nie jest równa przyjętej wartości  to próbuj wywołać 
           wynik = eval(ekspresja)                     / jeżeli zmienna działania nie jest równa przyjętej wartości  to przekaż do tej metody i uruchamia kod 
       except:                                                    // jeżeli zmienna działania nie jest równa przyjętej wartości wywołaj 
            wynik = "error"                                   // jeżeli zmienna działania nie jest równa przyjętej wartości dodaj tekst error 
            ekspresja = ""                                     // kod odpowiedzialny za dodanie działania kalkulatora do wyświetlania 
    etykieta_wynik.config(text=wynik)           // kod odpowiedzialny za dodanie tekstu do wyniku kalkulatora 

 

 

 

# Tworzone GUI - grafika // dodanie komentarza do kodu, przydatne do grupowania kodu w programie 

 

etykieta_wynik = tkinter.Label(zrodlo, text="")  // kod odpowiedzialny za tworzenie pierwszego nagłówka w kalkulatorze , traktowany jako tekst 

 

etykieta_wynik.grid(row=0, column=0, columnspan=4) // kod odpowiedzialny za tworzenie grafiki do nagłownka wynik dla wiersza 0 i kolumny 0 (pierwsza pozycja na kalkulatorze)

 

przycisk_1 = tkinter.Button(zrodlo, text = "1", bg ="yellow", command = lambda: dodaj("1"))  // kod, który odpowiada za element typu przycisk na kalkulatorze dla cyfry 1 
przycisk_1.grid(row=1, column=0)   // kod odpowiedzialny za rysowanie grafiki przycisku 1 , dla 1 wiersza i 0 kolumny 

 

przycisk_2 = tkinter.Button(zrodlo, text = "2", bg ="yellow", command = lambda: dodaj("2"))   // kod, który odpowiada za element typu przycisk na kalkulatorze dla cyfry 2
przycisk_2.grid(row=1, column=1) // kod odpowiedzialny za rysowanie grafiki przycisku 2 , dla 1 wiersza i 1 kolumny 

 

przycisk_3 = tkinter.Button(zrodlo, text = "3", bg ="yellow", command = lambda: dodaj("3")) // kod, który odpowiada za element typu przycisk   na kalkulatorze dla cyfry 3
przycisk_3.grid(row=1, column=2)  // kod odpowiedzialny za rysowanie grafiki przycisku 3 , dla 1 wiersza i 2 kolumny 

 

 

przycisk_dzielenie = tkinter.Button(zrodlo, text = "/", bg ="cyan", command = lambda: dodaj("/"))  // kod, który odpowiada za element typu przycisk   na kalkulatorze dla operacji dzielenia
przycisk_dzielenie.grid(row=1, column=3)   // kod odpowiedzialny za rysowanie grafiki przycisku dzielenia , dla 1 wiersza i 3 kolumny 

 

 

przycisk_4 = tkinter.Button(zrodlo, text = "4", bg ="green", command = lambda: dodaj("4"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla dla cyfry 4
przycisk_4.grid(row=2, column=0)                                                                                                 // kod odpowiedzialny za rysowanie grafiki przycisku 4 , dla 2 wiersza i 0 kolumny 

 

 

przycisk_5 = tkinter.Button(zrodlo, text = "5", bg ="green", command = lambda: dodaj("5"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla dla cyfry 5
przycisk_5.grid(row=2, column=1)                                                                                               // kod odpowiedzialny za rysowanie grafiki przycisku 5 , dla 2 wiersza i 1 kolumny 

 

 

przycisk_6 = tkinter.Button(zrodlo, text = "6", bg ="green", command = lambda: dodaj("6"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla dla cyfry 6
przycisk_6.grid(row=2, column=2)                                                                                                   // kod odpowiedzialny za rysowanie grafiki przycisku 2 , dla 1 wiersza i 2 kolumny 

 

przycisk_mnozenie = tkinter.Button(zrodlo, text = "*", bg ="cyan", command = lambda: dodaj("*"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla operacji mnożenia
przycisk_mnozenie.grid(row=2, column=3)                                                                                              // kod odpowiedzialny za rysowanie grafiki przycisku mnozenia , dla 2 wiersza i 3 kolumny 

 

 

przycisk_7 = tkinter.Button(zrodlo, text = "7", bg ="white", command = lambda: dodaj("7"))   / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla przycisku 7 
przycisk_7.grid(row=3, column=0)                                                                                                   // kod odpowiedzialny za rysowanie grafiki przycisku 7 , dla 3 wiersza i 0 kolumny 

 

przycisk_8 = tkinter.Button(zrodlo, text = "8", bg ="white", command = lambda: dodaj("8"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla przycisku 8
przycisk_8.grid(row=3, column=1)                                                                                                   // kod odpowiedzialny za rysowanie grafiki przycisku8 , dla 3 wiersza i 1 kolumny 

 

przycisk_9 = tkinter.Button(zrodlo, text = "9", bg ="white", command = lambda: dodaj("9"))  / / kod, który odpowiada za element typu przycisk   na kalkulatorze dla przycisku 9
przycisk_9.grid(row=3, column=2)                                                                                                   // kod odpowiedzialny za rysowanie grafiki przycisku 9 , dla 3 wiersza i 2 kolumny 

 

przycisk_odejmowanie = tkinter.Button(zrodlo, text = "-", bg ="cyan", command = lambda: dodaj("-"))  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla operacji odejmowania
przycisk_odejmowanie.grid(row=3, column=3)                                                                            // kod odpowiedzialny za rysowanie grafiki przycisku odejmowania , dla 3 wiersza i 3 kolumny 

 

 

przycisk_wyzeruj = tkinter.Button(zrodlo, text = "C", command = lambda: wyzeruj())  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla operacji kasowania
przycisk_wyzeruj.grid(row=4, column=0)                                                                           // kod odpowiedzialny za rysowanie grafiki przycisku kasowania , dla 4 wiersza i 0 kolumny 

 

 

przycisk_0 = tkinter.Button(zrodlo, text = "0", command = lambda: dodaj("0"))  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla przycisku 0 
przycisk_0.grid(row=4, column=1)                                                                             // kod odpowiedzialny za rysowanie grafiki przycisku 0 , dla 4 wiersza i 1 kolumny ​​​​​​​​​​​​​​

 

 

przycisk_kropka = tkinter.Button(zrodlo, text = ".", command = lambda: dodaj("."))  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla przycisku . (kropka)
przycisk_kropka.grid(row=4, column=2)                                                                         // kod odpowiedzialny za rysowanie grafiki przycisku 0 , dla 4 wiersza i 2 kolumny ​​​​​​​​​​​​​​​​​​​​​

 

 

przycisk_suma = tkinter.Button(zrodlo, text = "+", bg ="cyan", command = lambda: dodaj("+"))  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla operacji dodawania
przycisk_suma.grid(row=4, column=3)                                                                                                // kod odpowiedzialny za rysowanie grafiki przycisku dodawania , dla 4 wiersza i 3 kolumny ​​​​​​​​​​​​​​​​​​​​​​​​​​​​

 

 

przycisk_rownasie = tkinter.Button(zrodlo, text = "=", width=16, bg ="lavender", command = lambda: wylicz ())  // kod, który odpowiada za element typu przycisk  na kalkulatorze dla liczenia 
przycisk_rownasie.grid(row=5, column=0, columnspan=4) # columnpan odleglosc kolumny    // kod odpowiedzialny za rysowanie grafiki przycisku dodawania , dla 5 wiersza i 0 kolumny ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

 

 

etykieta_podpis = tkinter.Label(zrodlo, bg ="tomato", text="Created by pasjonatg")  // kod, który odpowiada za element typu tekst dla autora programu 
etykieta_podpis.grid(row=6, column=0, columnspan=4) # columnspan odstep kolumny  // kod odpowiedzialny za rysowanie grafiki dla podpisu , dla 6 wiersza i 0 kolumny​​​​​​​

 

 

 

 

zrodlo.mainloop()     // kod, który odpowiada za tworzenie pełnej pętli dla programu kalkulatora 

 

Wygląd kalkulatora  pod daniu na Run - Run Module (F5)

 

 

 

Poniżej pliki do pobrania: 

 

- Kalkulator .exe

- kod zrodlowy.pdf

 

02 kwietnia 2021

Nigdy nie jest za późno na nauke!

 Każda kariera zaczyna sie od dobrej edukacji

Każda pasja przynosi szczęście !!!

 

 

 

edukacja

poradniki

artykuły

edukacja 

Podpowiedź:

Możesz usunąć tę informację włączając Plan Premium

Ta strona została stworzona za darmo w WebWave.
Ty też możesz stworzyć swoją darmową stronę www bez kodowania.