
🧮 Hesap Makinesi Uygulaması
🌟 Proje Açıklaması:
Hesap Makinesi Uygulaması, kullanıcıların temel matematiksel işlemleri (toplama, çıkarma, çarpma, bölme) kolaylıkla yapabilmesini sağlayan bir Python projesidir. Bu proje, Python programlama dilinin gücünü ve Tkinter kütüphanesinin sunduğu olanakları bir araya getirerek, kullanıcı dostu bir deneyim sunmayı amaçlamaktadır. Tkinter kütüphanesi kullanılarak oluşturulmuş grafiksel bir kullanıcı arayüzüne sahiptir; bu sayede kullanıcılar, matematiksel hesaplamalarını görsel ve etkileşimli bir ortamda gerçekleştirebilirler. Uygulama, kullanıcıların giriş kutusuna sayıları girmesiyle başlar ve ardından uygun butonlara tıklayarak işlemlerini gerçekleştirmelerine olanak tanır. Hesaplama sonuçları, kullanıcıların kolayca görebileceği bir biçimde ekranda gösterilir. Ayrıca, bu projeyi PyScript ile web uyumlu hale getirerek, tarayıcıda çalışan bir versiyonunu da geliştirebilirsiniz. Web versiyonu, herhangi bir web sayfasına kolayca entegre edilebilir, böylece daha geniş bir kullanıcı kitlesine ulaşma imkanı sunar.
📌 Amaç:
Kullanıcı Etkileşimi: Kullanıcılar, giriş kutusuna sayılar girer ve uygun butonlara tıklayarak işlemlerini gerçekleştirirler. Bu etkileşim, kullanıcıların uygulamayı daha iyi anlamalarına ve matematiksel işlemleri daha hızlı yapmalarına olanak tanır. Sonuç, kullanıcıların dikkatini çekmek için ekranda belirgin bir şekilde gösterilir.
Eğlence: Uygulama, kullanıcıların matematiksel işlemleri hızlı bir şekilde yapmalarını sağlayarak işlerini kolaylaştırır. Kullanıcılar, işlemlerini yaparken eğlenceli bir deneyim yaşarlar. Ayrıca, hatalı girişler için kullanıcıyı uyararak, doğru sonuçlar elde etmelerini sağlar. Bu özellik, kullanıcıların uygulamayı daha etkin bir şekilde kullanmalarına yardımcı olur.
Kolay Kullanım: Uygulama, kullanıcıların hesap makinelerindeki tüm temel fonksiyonları (toplama, çıkarma, çarpma, bölme) kullanabilmesini sağlar. Kullanıcı dostu arayüzü sayesinde, her yaştan birey rahatlıkla bu uygulamayı kullanabilir. Kullanıcıların herhangi bir teknik bilgiye ihtiyaç duymadan matematiksel işlemler yapabilmesi, uygulamanın en büyük avantajlarından biridir.
🧠 Öğrenilen Konular:
Tkinter Kütüphanesi: Tkinter, Python ile GUI (grafiksel kullanıcı arayüzü) uygulamaları geliştirmek için yaygın olarak kullanılan bir kütüphanedir. Bu projede, butonlar, etiketler ve giriş kutuları gibi öğeleri kullanarak kullanıcı arayüzü oluşturduk. Bu süreç, Tkinter'ın sunduğu widget'lar ve layout yönetimi hakkında derinlemesine bilgi edinmemizi sağladı.
PyScript: PyScript, Python kodlarını web sayfalarına entegre etmenizi sağlayan yenilikçi bir araçtır. Bu projeyi web uyumlu hale getirmek için PyScript kullanarak, kullanıcıların tarayıcı üzerinden erişebileceği bir hesap makinesi uygulaması geliştirebiliriz. Bu süreç, web teknolojileri ile Python'un entegrasyonu konusunda değerli bir deneyim kazandırır.
Matematiksel İşlemler: Bu projede, kullanıcının girdiği sayılar üzerinde dört temel matematiksel işlem yapılır. Kullanıcıların bu işlemleri nasıl gerçekleştireceği ve sonuçların nasıl hesaplanacağı hakkında pratik bilgi edinmiş olduk. Bu, matematiksel mantığın ve algoritmaların uygulanması açısından önemli bir deneyimdir.
🧩 Özellikler:
Toplama, Çıkarma, Çarpma, Bölme: Kullanıcılar, sayılarla bu dört işlem üzerinden hesaplamalar yapabilirler. Her bir işlem için ayrı butonlar ve giriş alanları bulunur, bu da kullanıcıların işlemlerini hızlı ve etkili bir şekilde gerçekleştirmelerine olanak tanır.
Hatalı Girişler: Geçersiz bir işlem yapıldığında, kullanıcıya hata mesajı verilir. Bu özellik, kullanıcıların hatalarını anlamalarına ve gelecekte daha dikkatli olmalarına yardımcı olur. Hatalı girişlerin önlenmesi, uygulamanın güvenilirliğini artırır.
Web Uyumu: PyScript sayesinde, bu hesap makinesi uygulaması bir web sayfasına entegre edilebilir ve tarayıcı üzerinden çalıştırılabilir. Bu, uygulamanın erişilebilirliğini artırır ve kullanıcıların istedikleri yerden hesaplama yapmalarına olanak tanır. Web uyumlu versiyon, kullanıcıların internet bağlantısı olan her yerden uygulamaya erişim sağlamasını kolaylaştırır.
import tkinter as tk # Tkinter kütüphanesini içeri aktarır
# 🔢 Butonlara tıklanınca çağrılan fonksiyon
def button_click(number):
current = entry.get() # Giriş kutusundaki mevcut değeri alır
entry.delete(0, tk.END) # Önce temizler
entry.insert(0, current + str(number)) # Yeni karakteri ekler
# ❌ Temizleme fonksiyonu
def button_clear():
entry.delete(0, tk.END) # Giriş kutusunu tamamen temizler
# ✅ Sonucu hesaplayan fonksiyon
def button_equal():
try:
result = eval(entry.get()) # Kullanıcının yazdığı işlemi değerlendirir
entry.delete(0, tk.END) # Eski ifadeyi siler
entry.insert(0, str(result)) # Hesaplanan sonucu kutuya yazar
except Exception as e:
entry.delete(0, tk.END)
entry.insert(0, "HATA") # Eğer işlem geçersizse kullanıcıyı bilgilendirir
# 🪟 Ana pencere
root = tk.Tk()
root.title("Hesap Makinesi")
root.configure(bg="#f0f0f0") # Arka plan rengi
# 📥 Giriş kutusu (Entry)
entry = tk.Entry(root, width=20, font=("Arial", 24), borderwidth=5, relief=tk.RIDGE, justify="right")
entry.grid(row=0, column=0, columnspan=4, padx=10, pady=20)
# 🔘 Tüm butonları liste halinde tanımla
buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('C', 4, 1), ('=', 4, 2), ('+', 4, 3)
]
# 🎛️ Butonları tek tek oluştur
for (text, row, col) in buttons:
if text == "=":
button = tk.Button(root, text=text, width=5, height=2, font=("Arial", 18, "bold"),
bg="#4caf50", fg="white", command=button_equal)
elif text == "C":
button = tk.Button(root, text=text, width=5, height=2, font=("Arial", 18, "bold"),
bg="#f44336", fg="white", command=button_clear)
else:
button = tk.Button(root, text=text, width=5, height=2, font=("Arial", 18),
bg="white", command=lambda t=text: button_click(t))
button.grid(row=row, column=col, padx=5, pady=5)
# 🔁 Ana döngü
root.mainloop()