Python ile Üçgen Prizma, Dikdördgen Prizma ve Kürenin Hacmini Hesaplama Programı Kodları

Python 2.7 ile yazdığım program sayesinde math modülünden alınan ayrıntılı pi değeri ile kürenin hacmini detaylarıyla hesaplayabilirsiniz. Ayrıca üçgen prizmanın hacmini üç kenar uzunluğunu ve yüksekliğini verdikten sonra u formülüyle hesaplıyor. Windows altında çalışıyor linux’da sorun veriyor sanırım tam deneme şansım olmadı açıkçası. Bu arada dikdördgen prizmanın hacmini de bildiğimiz üzere verilen 3 uzunluğu çarparak buluyor. Umarım işinize yarar.

hacim.pyw dosyası(isterseniz py olarak da kaydedebilirsiniz ancak komut penceresi de açılacaktır.)

#-*-coding:utf8-*-

from Tkinter import *

def secimler():
    kure=isaret.get()
    dp=isaret2.get()
    up=isaret3.get()
    if kure==1:
        import kure
        khacim=kure.kure()
    if dp==1:
        import dikdordgenprizma
        dphacim=dikdordgenprizma.dp()
    if up==1:
        import ucgenprizma
        uphacim=ucgenprizma.up()

anapencere=Tk()
ustyazi=Label(anapencere,text="Hacim Hesaplama Programı",font=("Comic Sans Ms",20,"bold")).pack()
f1=Frame(anapencere)
soru=Label(text="Hangilerinin Hacimlerini Hesaplamak İstiyorsunuz?").pack()

kure=Checkbutton(text="Küre")
isaret=IntVar()
kure.config(variable=isaret)
kure.pack()
isaret.set(1)

dikprizma=Checkbutton(text="Dikdördgenler Prizması")
isaret2=IntVar()
dikprizma.config(variable=isaret2)
dikprizma.pack()
isaret2.set(1)

ucgenprizma=Checkbutton(text="Üçgen Prizma")
isaret3=IntVar()
ucgenprizma.config(variable=isaret3)
ucgenprizma.pack()
isaret3.set(1)

olustur=Button(text="Başlat!",command=secimler)
olustur.pack()

anapencere.mainloop()

dikdordgenprizma.py dosyası:

#-*-coding:utf8-*-

class dp:
    def __init__(self):
        from Tkinter import *
        self.ac=Toplevel()
        self.ac.title("Dikdördgen Prizma Hacim Hesap Bilgileri")
        self.metin1=Label(self.ac)
        self.metin1.config(text="Lütfen Dikdördgen Prizmanın Bir Kenar Uzunluğunu Giriniz:")
        self.metin1.pack()
        self.kenar1=Entry(self.ac)
        self.kenar1.pack()

        self.metin2=Label(self.ac)
        self.metin2.config(text="Lütfen Dikdördgen Prizmanın Bir Başka Kenar Uzunluğunu Giriniz:")
        self.metin2.pack()
        self.kenar2=Entry(self.ac)
        self.kenar2.pack()

        self.metin3=Label(self.ac)
        self.metin3.config(text="Lütfen Dikdördgen Prizmanın Sonuncu Kenar Uzunluğunu Giriniz:")
        self.metin3.pack()
        self.kenar3=Entry(self.ac)
        self.kenar3.pack()

        self.buton=Button(self.ac,text="Hesapla!",command=self.hesap).pack()

        self.goster=Label(self.ac)
        self.goster.config(text="Henüz Hesaplama Yapılmadı.")
        self.goster.config(font=("Sans Serif Ms",25,"bold"))
        self.goster.pack()

    def hesap(self):
        self.hacim=float(self.kenar1.get())*float(self.kenar2.get())*float(self.kenar3.get())
        self.goster.config(text="Hacim: %s cm3'tür." % self.hacim)

kure.py dosyası:

#-*-coding:utf8-*-

class kure:
    def __init__(self):
        from Tkinter import *
        self.pencere=Toplevel()
        self.pencere.title("Küre Hacim Hesap Bilgileri")
        self.ustyazi=Label(self.pencere)
        self.ustyazi.config(text="Lütfen Kürenin Yarıçapını Giriniz: ")
        self.ustyazi.pack()

        self.r=Entry(self.pencere)
        self.r.pack()

        self.buton=Button(self.pencere,text="Hesapla!",command=self.kurehesap).pack()

        self.gosterk=Label(self.pencere)
        self.gosterk.config(text="Henüz Hesaplama Yapılmadı.")
        self.gosterk.config(font=("Sans Serif Ms",25,"bold"))
        self.gosterk.pack()

    def kurehesap(self):
        import math
        self.hacim=(4/3)*(math.pi)*(float(self.r.get())**3)
        self.gosterk.config(text="Kürenin Hacmi: %s cm3'tür." %self.hacim)

ucgenprizma.py dosyası:

#-*-coding:utf8-*-

class up:
    def __init__(self):
        from Tkinter import *
        self.ac=Toplevel()
        self.ac.title("Üçgen Prizma Hacim Hesap Bilgileri")
        self.metin1=Label(self.ac)
        self.metin1.config(text="Lütfen Üçgen Prizmanın Bir Kenar Uzunluğunu Giriniz:")
        self.metin1.pack()
        self.kenar1=Entry(self.ac)
        self.kenar1.pack()

        self.metin2=Label(self.ac)
        self.metin2.config(text="Lütfen Üçgen Prizmanın Bir Başka Kenar Uzunluğunu Giriniz:")
        self.metin2.pack()
        self.kenar2=Entry(self.ac)
        self.kenar2.pack()

        self.metin3=Label(self.ac)
        self.metin3.config(text="Lütfen Üçgen Prizmanın Sonuncu Kenar Uzunluğunu Giriniz:")
        self.metin3.pack()
        self.kenar3=Entry(self.ac)
        self.kenar3.pack()

        self.metin4=Label(self.ac)
        self.metin4.config(text="Lütfen Üçgen Prizmanın Yükseklikliğini Giriniz:")
        self.metin4.pack()
        self.kenar4=Entry(self.ac)
        self.kenar4.pack()

        self.buton=Button(self.ac,text="Hesapla!",command=self.upalan).pack()

        self.goster=Label(self.ac)
        self.goster.config(text="Henüz Hesaplama Yapılmadı.")
        self.goster.config(font=("Sans Serif Ms",25,"bold"))
        self.goster.pack()

    def upalan(self):
        import math
        self.yukseklik=float(self.kenar4.get())
        self.bir=float(self.kenar1.get())
        self.iki=float(self.kenar2.get())
        self.uc=float(self.kenar3.get())
        self.u=(self.bir+self.iki+self.uc)/2
        self.tabanalan=math.sqrt(self.u*(self.u-self.bir)*(self.u-self.iki)*(self.u-self.uc))
        self.alan=self.yukseklik*self.tabanalan
        self.goster.config(text="Hacim: %s cm3'tür" % self.alan)

Umarım bunu okuduğunuzda Qt ile yazılmış halini de siteye eklemiş olurum. Biraz pratik olması açısından OOP ile yazmıştım.

 
comments powered by Disqus