top of page

Üyelik Paketlerinde 25% İndirim İçin Kodun : "welcome"

Coffee Machine Programı


Hands-on Mentor Projects
Hands-on Mentor Projects


Coffee Machine Nedir?

Coffee Machine (Kahve Makinesi), kullanıcıların belirli bir tür kahve seçip, seçilen kahve türüne göre gerekli malzemeleri ve maliyeti hesaplayan bir uygulamadır. Kullanıcı, kahve seçimini yapar ve makine, kullanıcının seçimine göre kahve hazırlar. Bu tür uygulamalar, temel programlama ve kullanıcı etkileşimi konularında pratik yapmak için idealdir.


Proje Hedefleri ve Öğrenci Faydaları

Bu proje ile öğrenciler, temel Python bilgilerini kullanarak basit ve fonksiyonel programlar geliştirme becerilerini pekiştireceklerdir. Ayrıca, kullanıcı etkileşimi ve veri işleme konularında deneyim kazanacaklardır.


Projenin Hedef Çıktıları

  • Temel Python yapıları ve kontrol akışlarını kullanarak bir kahve makinesi uygulaması oluşturma.

  • Kullanıcıdan veri alma ve bu verileri işleyerek kahve hazırlama işlemlerini yönetme.

  • Fonksiyonlar yardımıyla daha modüler ve okunabilir kod yazma.


Projenin Adım Adım Görevleri

  1. Kahve seçeneklerini ve malzemeleri tanımlama.

  2. Kullanıcıdan kahve seçimini alma.

  3. Seçilen kahveye göre gerekli malzemeleri kontrol etme ve kahveyi hazırlama.

  4. Sonucu ekrana yazdırma.

  5. Fonksiyonlar kullanarak kodu daha modüler hale getirme.



Fonksiyonsuz Çözüm


Adım 1: Kahve Seçeneklerini ve Malzemeleri Tanımlama

İlk adımda, kahve seçenekleri ve malzemeler tanımlanacaktır.

# Kahve seçeneklerini ve malzemeleri tanımlama
kahveler = {
    "espresso": {"su": 50, "süt": 0, "kahve": 18, "fiyat": 1.5},
    "latte": {"su": 200, "süt": 150, "kahve": 24, "fiyat": 2.5},
    "cappuccino": {"su": 250, "süt": 100, "kahve": 24, "fiyat": 3.0}
}

stok = {"su": 1000, "süt": 500, "kahve": 100, "para": 0}

Bu kod parçası, kahve seçeneklerini ve gerekli malzemeleri tanımlar. Ayrıca, stoktaki malzemeleri de tanımlar.


Adım 2: Kullanıcıdan Kahve Seçimini Alma

İkinci adımda, kullanıcıdan kahve seçimi alınacaktır.

# Kullanıcıdan kahve seçimini alma
secim = input("Hangi kahveyi istersiniz? (espresso/latte/cappuccino): ").lower()

Bu kod parçası, kullanıcıdan kahve seçimini alır.


Adım 3: Seçilen Kahveye Göre Gerekli Malzemeleri Kontrol Etme ve Kahveyi Hazırlama

Üçüncü adımda, seçilen kahveye göre gerekli malzemeler kontrol edilecek ve kahve hazırlanacaktır.

# Seçilen kahveye göre gerekli malzemeleri kontrol etme ve kahveyi hazırlama
if secim in kahveler:
    yeterli_malzeme = True
    for malzeme in kahveler[secim]:
        if malzeme != "fiyat" and kahveler[secim][malzeme] > stok[malzeme]:
            print(f"Yeterli {malzeme} yok.")
            yeterli_malzeme = False
            break

    if yeterli_malzeme:
        for malzeme in kahveler[secim]:
            if malzeme != "fiyat":
                stok[malzeme] -= kahveler[secim][malzeme]
        stok["para"] += kahveler[secim]["fiyat"]
        print(f"{secim} hazır! Afiyet olsun.")
else:
    print("Geçersiz seçim.")

Bu kod parçası, seçilen kahve için gerekli malzemeleri kontrol eder, yeterli malzeme varsa kahveyi hazırlar ve stokları günceller.


Adım 4: Sonucu Ekrana Yazdırma

Dördüncü adımda, sonuç ekrana yazdırılacaktır.

# Sonucu ekrana yazdırma
print("Kalan stok:")
for malzeme, miktar in stok.items():
    print(f"{malzeme}: {miktar}")

Bu kod parçası, güncellenen stokları ekrana yazdırır.



Fonksiyonlarla Çözüm


Adım 1: Kahve Seçeneklerini ve Malzemeleri Tanımlama Fonksiyonu

İlk adımda, kahve seçenekleri ve malzemeler tanımlanacaktır.

def kahve_secimleri_ve_stok_tanimla():
    """Kahve seçeneklerini ve stokları tanımlar."""
    kahveler = {
        "espresso": {"su": 50, "süt": 0, "kahve": 18, "fiyat": 1.5},
        "latte": {"su": 200, "süt": 150, "kahve": 24, "fiyat": 2.5},
        "cappuccino": {"su": 250, "süt": 100, "kahve": 24, "fiyat": 3.0}
    }

    stok = {"su": 1000, "süt": 500, "kahve": 100, "para": 0}
    return kahveler, stok

Bu fonksiyon, kahve seçeneklerini ve stokları tanımlar ve döndürür.


Adım 2: Kullanıcıdan Kahve Seçimini Alma Fonksiyonu

İkinci adımda, kullanıcıdan kahve seçimi alınacaktır.

def kullanici_secimi_al():
    """Kullanıcıdan kahve seçimini alır."""
    secim = input("Hangi kahveyi istersiniz? (espresso/latte/cappuccino): ").lower()
    return secim

Bu fonksiyon, kullanıcıdan kahve seçimini alır ve döndürür.


Adım 3: Seçilen Kahveye Göre Gerekli Malzemeleri Kontrol Etme ve Kahveyi Hazırlama Fonksiyonu

Üçüncü adımda, seçilen kahveye göre gerekli malzemeler kontrol edilecek ve kahve hazırlanacaktır.

def kahve_hazirla(kahveler, stok, secim):
    """Seçilen kahveye göre gerekli malzemeleri kontrol eder ve kahveyi hazırlar."""
    if secim in kahveler:
        yeterli_malzeme = True
        for malzeme in kahveler[secim]:
            if malzeme != "fiyat" and kahveler[secim][malzeme] > stok[malzeme]:
                print(f"Yeterli {malzeme} yok.")
                yeterli_malzeme = False
                break

        if yeterli_malzeme:
            for malzeme in kahveler[secim]:
                if malzeme != "fiyat":
                    stok[malzeme] -= kahveler[secim][malzeme]
            stok["para"] += kahveler[secim]["fiyat"]
            print(f"{secim} hazır! Afiyet olsun.")
        return yeterli_malzeme
    else:
        print("Geçersiz seçim.")
        return False

Bu fonksiyon, seçilen kahve için gerekli malzemeleri kontrol eder, yeterli malzeme varsa kahveyi hazırlar ve stokları günceller.


Adım 4: Sonucu Ekrana Yazdırma Fonksiyonu

Dördüncü adımda, hesaplanan sonuç ekrana yazdırılacaktır.

def sonucu_yazdir(stok):
    """Güncellenen stokları ekrana yazdırır."""
    print("Kalan stok:")
    for malzeme, miktar in stok.items():
        print(f"{malzeme}: {miktar}")

Bu fonksiyon, güncellenen stokları ekrana yazdırır.


Adım 5: Kahve Makinesi Uygulamasını Başlatma Fonksiyonu

Bu fonksiyon, Coffee Machine uygulamasını başlatır ve uygulamanın akışını yönetir.

def kahve_makinesi_baslat():
    """Coffee Machine uygulamasını başlatır."""
    kahveler, stok = kahve_secimleri_ve_stok_tanimla()
    secim = kullanici_secimi_al()
    kahve_hazirla(kahveler, stok, secim)
    sonucu_yazdir(stok)

# Uygulamayı başlatma
kahve_makinesi_baslat()

Bu fonksiyon, Coffee Machine uygulamasını başlatır ve uygulamanın akışını yönetir. Kullanıcıdan gerekli verileri alır, kahve hazırlar ve güncellenen stokları ekrana yazdırır.


Kullanılan Konular

  • Veri Tipleri: Bu projede, sözlükler (kahve seçenekleri, stoklar) ve stringler (kullanıcı girişi) kullanılmıştır.

  • Koşullu İfadeler: if-else yapıları, kullanıcıdan alınan kahve seçimini kontrol etmek ve doğru işlemi gerçekleştirmek için kullanılmıştır.

  • Fonksiyonlar: Fonksiyonlar, kodun modüler ve tekrar kullanılabilir olmasını sağlamıştır.

  • Döngüler: for döngüsü, malzemeleri kontrol etmek ve güncellemek için kullanılmıştır.


 


Yorumlar


Yorumlara kapatıldı.
bottom of page