電卓作ってる
Python入門ということで電卓作ってる。とりあえず画面表示ができた。(このページも逐次更新していく予定)
#!/usr/bin/env/python # -*- coding: utf8 -*- # -*- coding: ascii -*- import sys import Tkinter as Tk import numpy as np i = 0 j = 0 array = [['7','8','9','*'],['4','5','6','-'],['1','2','3','+'],['0','.','/','=']] strings = 0 def CulcValue(event): count = 0 if count == 0: if array[i][j] == array[0][3] : mul = 0 mul += 1 #* count += 1 elif array[i][j] == array[1][3] : sub = 0 sub += 1 #- count += 1 elif array[i][j] == array[2][3] : add = 0 add += 1 #+ count += 1 elif array[i][j] == array[3][1] : dec = 0 dec += 1 #. count += 1 elif array[i][j] == array[3][2] : div = 0 div += 1 #/ count += 1 elif array[i][j] == array[3][3] : equ = 0 equ += 1 #= count += 1 if mul == 1: strings = value1*value2 var.set(strings) elif sub == 1: strings = value1-value2 var.set(strings) elif add == 1: strings = value1+value2 var.set(strings) elif div ==1: strings = value1/value2 var.set(strings) else: pass else: value1 = array[i][j] elif count == 1: value2 = array[i][j] else: pass class Frame(Tk.Frame): def __init__(self,master=None): Tk.Frame.__init__(self,master,height=200,width=200) self.master.title('Nested Frames') var = Tk.StringVar() var.set("0") f_display = Tk.Frame(self,relief=Tk.RIDGE,bd=4) f_display.pack(fill=Tk.X,expand=1) display = Tk.Label(f_display, text=var,width=10, relief=Tk.SUNKEN, bd=2, anchor = Tk.E,font=('Helvetica', '24'), bg='white') display.grid(row=0, column=1, rowspan=2, sticky=Tk.N+Tk.S) #Second Frame f2 = Tk.Frame(self,relief=Tk.RIDGE,bd=2) f2.pack(pady=2) # array = [['7','8','9','*'],['4','5','6','-'],['1','2','3','+'],['0','.','/','=']] for i in range(4): for j in range(4): button = Tk.Button(f2,text=array[i][j]) button.grid(row=i,column=j) #f2.place(relx=0,rely=0) button.bind("<Button-1>", CulcValue) if __name__ == '__main__': f = Frame() f.place() # f.pack() f.grid() f.mainloop()