Jump to content

Hesap Makinesi Uygulaması


Muallim-i Ali

Recommended Posts

"""Hesap Makinesi uygulaması-0.0.1
Ertuğrul SUNAN
Temmuz-2006
Lütfen hataları bildiriniz."""

from Tkinter import *

ana=Tk()
ana.geometry("300x250+400+200")
ana.resizable(width=0,height=0)

satir=4
sutun=4
yazi=StringVar() #Yazının değiştirilebilmesi
#için (set metodu ile kullanılıyor)
text=""
desen=("1","2","3","*","4","5","6","/","7","8","9","-","0",".","+","=")
s={} #Butonlar bu sözlükte tutulacak

def duzenle(s):
"""Bölme işleminde sonucun float çıkmasını sağlar"""
k=s.split("/")
b=[]
for i in k:
if "*" not in i and "-" not in i and "+" not in i:
b.append(i)
else:
for j in range(len(i)-1,-1,-1):
if i[j] in ["+","-","*"]:
b.append(i[j+1:])
break
b.pop()
if len(b)==0:
for i in range(len(k)-1):
if "." in k[i]:
k[i]+="/"
else:
k[i]+="./"
else:
for i in range(len(b)):
if "." in b[i]:
k[i]+="/"
else:
k[i]+="./"
text="".join(k)
return text

def temizle(): #Labeldaki yazıyı temizliyor
global text
text=""
yazi.set(text)

def yaz(x): #Labeldaki yazıyı değiştiriyor
global text
text=text+x
yazi.set(text)

def hesap():
global text
text=duzenle(text)
sonuc=eval(text)
if sonuc==int(sonuc):
sonuc=int(sonuc)
text=str(sonuc)
yazi.set(text)

p1=Frame()
L=Label(p1,textvariable=yazi)
L.config(relief=GROOVE,bg="#ffffff",height=2,anchor=E) #Yazı sağa yanaşık
L.pack(expand=YES,fill=X,padx=15)
B=Button(p1,text="sil")
B.config(command=temizle,width=5,font=("arial",12,"bold"))
B.pack(side=RIGHT,pady=5)

p1.pack(expand=YES,fill=X,pady=5)

p2=Frame()

#a=0
#b=1

for i in range(satir):
for j in range(sutun):
s[4*i+j]=Button(p2,text=desen[4*i+j],width=5,font=("arial",12,"bold"))
s[4*i+j].config(command=lambda x=desen[4*i+j]:yaz(x))
s[4*i+j].grid(row=i,column=j,padx=3,pady=3)

s[15]=Button(p2,text=desen[15],width=5,font=("arial",12,"bold"))
s[15].config(command=hesap)
s[15].grid(row=i,column=j,padx=3,pady=3)

p2.pack(pady=5)

ana.mainloop()[/CODE]

Link to comment
Share on other sites

python programlama diye yazdık ya :)

kısaca : (visual basic ile aynı kategoridedir.yani yüksek seviyeli bir dildir.) + çok amaçlı ,nesne tabanlı, modüler programlama dilidir.gücünü C programlama dilinden alıyor.

Please register to see this content.
türkçe kaynak bu var net ortamında...

kitap olarak pusula yayıncılığa ait mustafa başer'in (1. baskı ekim 2002) var kitabı.(son baskısı varmı hatırlamıyorum) başka türkçe kitap yok bildiğim kadarıyla. ek olarak gtk ile programlama tarzında kitaplar vardır...

bu yukarıdaki örnekte tkinter arayüzü kullanılmıştır. gtk arayüzü var bir de o.neyse konumuz o değil :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...