Kalkulator python

Mulai


Halo, pada artikel sebelumnya saya menunjukkan cara membuat game dengan python , dan sekarang kita melihat bagaimana membuat kalkulator sederhana dalam python tkinter .



Buat jendela 485 x 550. Dimensi tidak penting, saya suka ini. Kami juga menunjukkan bahwa jendela tidak akan diubah.



from tkinter import * class Main(Frame): def __init__(self, root): super(Main, self).__init__(root) self.build() def build(self): pass def logicalc(self, operation): pass def update(): pass if __name__ == '__main__': root = Tk() root["bg"] = "#000" root.geometry("485x550+200+200") root.title("") root.resizable(False, False) app = Main(root) app.pack() root.mainloop() 

Bagus, teruskan.


Buat tombol


Dalam metode pembuatan , buat daftar berikut:


 btns = [ "C", "DEL", "*", "=", "1", "2", "3", "/", "4", "5", "6", "+", "7", "8", "9", "-", "+/-", "0", "%", "X^2" ] 


Dia bertanggung jawab untuk semua tombol yang muncul di jendela kita.


Kami membuat daftar, sekarang kami melalui loop dan menampilkan tombol-tombol ini. Untuk melakukan ini, dengan metode yang sama, tulis yang berikut ini:



 x = 10 y = 140 for bt in btns: com = lambda x=bt: self.logicalc(x) Button(text=bt, bg="#FFF", font=("Times New Roman", 15), command=com).place(x=x, y=y, width=115, height=79) x += 117 if x > 400: x = 10 y += 81 


Bagus, kami punya tombol. Tambahkan tulisan dengan output. Saya ingin teks berada di sebelah kiri, oleh karena itu, atribut pelurusan teks tidak perlu ditulis.



 self.formula = "0" self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF") self.lbl.place(x=11, y=50) 


Menulis logika



 def logicalc(self, operation): if operation == "C": self.formula = "" elif operation == "DEL": self.formula = self.formula[0:-1] elif operation == "X^2": self.formula = str((eval(self.formula))**2) elif operation == "=": self.formula = str(eval(self.formula)) else: if self.formula == "0": self.formula = "" self.formula += operation self.update() def update(self): if self.formula == "": self.formula = "0" self.lbl.configure(text=self.formula) 


Jadi, karena kita tidak memiliki input keyboard, kita dapat melakukannya, cukup periksa spesial. tombol (C, DEL, =) dan dalam kasus lain cukup tambahkan ini ke rumus.



Kalkulator ini memiliki banyak kekurangan, tetapi kami tidak mencoba membuatnya ideal.



Saya minta maaf atas kesalahan dalam artikel ini. Tulis, saya akan memperbaiki.


Kode lengkap versi kalkulator saya:


 from tkinter import * class Main(Frame): def __init__(self, root): super(Main, self).__init__(root) self.build() def build(self): self.formula = "0" self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF") self.lbl.place(x=11, y=50) btns = [ "C", "DEL", "*", "=", "1", "2", "3", "/", "4", "5", "6", "+", "7", "8", "9", "-", "(", "0", ")", "X^2" ] x = 10 y = 140 for bt in btns: com = lambda x=bt: self.logicalc(x) Button(text=bt, bg="#FFF", font=("Times New Roman", 15), command=com).place(x=x, y=y, width=115, height=79) x += 117 if x > 400: x = 10 y += 81 def logicalc(self, operation): if operation == "C": self.formula = "" elif operation == "DEL": self.formula = self.formula[0:-1] elif operation == "X^2": self.formula = str((eval(self.formula))**2) elif operation == "=": self.formula = str(eval(self.formula)) else: if self.formula == "0": self.formula = "" self.formula += operation self.update() def update(self): if self.formula == "": self.formula = "0" self.lbl.configure(text=self.formula) if __name__ == '__main__': root = Tk() root["bg"] = "#000" root.geometry("485x550+200+200") root.title("") root.resizable(False, False) app = Main(root) app.pack() root.mainloop() 

Source: https://habr.com/ru/post/id481074/


All Articles