Python ile Pizza Siparişi
Bu örnekte, Python dili ile bir pizza sipariş programı yazacağız. Program, müşterinin seçtiği pizza boyutuna ve ekstra seçeneklere göre toplam sipariş ücretini hesaplayacak.
- Müşterinin pizza siparişi için aşağıdaki boyutlara göre ücretlendirilecektir:
- Küçük boy (S) pizza: 25 TL
- Orta boy (M) pizza: 30 TL
- Büyük boy (L) pizza: 35 TL
- Eğer müşteri pizzasında extra peynir isterse pizza boyutlarına göre aşağıdaki fiyatlar eklenecektir:
- Küçük boy (S) pizzaya +2 TL
- Büyük boy (L) ve orta boy (M) pizzaya +3 TL
- Kullanıcı yanına bir de içecek alacaksa
- Pizza boyutu fark etmeksizin +2 TL
Bu programı nasıl kodlyacağımızı anlatan yaklaşımımızı adım adım gösterelim ve temsili bir akış şeması çizelim:
- Adım 1: Başla
- Adım 2: Kullanıcıdan pizza boyutunu al (S, M, L)
- Adım 3: Kullanıcıdan extra peynir tercihini al (E, H)
- Adım 4: Kullanıcıdan içecek tercihini al (E, H)
- Adım 5: Alınan pizza boyutuna göre temel ücreti belirle
- Adım 6: Eğer kullanıcı extra peynir isterse, temel ücrete ekstra peynir ücretini ekle
- Adım 7: Eğer kullanıcı içecek isterse, ücrete içecek ücretini ekle
- Adım 8: Toplam ücreti hesapla
- Adım 9: Toplam ücreti yazdır
- Adım 10: Bitir
Problemin çözümünde koşul ifadeleri olduğu için if-else ve kullanıcıdan girdi alınacağı için input () fonksiyonu kullanılmıştır. İlk çözüm için bakınız:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
KUCUK_BOY_FIYAT = 20 ORTA_BOY_FIYAT = 25 BUYUK_BOY_FIYAT = 30 KUCUK_BOY_PEYNIR_FIYAT = 2 DIGER_BOY_PEYNIR_FIYAT = 3 ICECEK_FIYAT = 2 print("İşte Pizza'ya hoşgeldiniz...") boyut = input('Hangi boy pizza istiyorsunuz? "S", "M" veya "L"').upper() ekstra_peynir = input('Fazladan peynir istiyor musunuz? "Evet" veya "Hayır"').lower() icecek = input ('Yanına içecek istiyor musunuz? "Evet" veya "Hayır"').lower() hesap = 0 if boyut == "S": hesap += KUCUK_BOY_FIYAT elif boyut == "M": hesap += ORTA_BOY_FIYAT else: hesap += BUYUK_BOY_FIYAT if ekstra_peynir == "evet": if boyut == "S": hesap += KUCUK_BOY_PEYNIR_FIYAT else: hesap += DIGER_BOY_PEYNIR_FIYAT if icecek == "evet": hesap += ICECEK_FIYAT print(f"Toplam tutarı: {hesap} TL.") |
Bu program, müşteriden pizza boyutu, extra peynir ve içecek tercihlerini alır ve buna göre toplam sipariş ücretini hesaplar. Müşteri, siparişini tamamladığında, toplam ücreti ekrana yazdırır. Kodu çalıştırmak için: Trinket
İlk çözüm yolunda her bir pizza boyutunu ve ekstra peynir fiyatını ayrı ayrı değişkenlerde sakladım. Ancak, bu yaklaşım çok fazla değişken kullanılmasına neden oluyor ve bu da kodun daha karmaşık ve yönetilmesi zor hale gelmesine neden oluyor.
Bunun yerine, pizza fiyatlarını ve ekstra peynir fiyatlarını sözlüklerde saklayabiliriz. Zira bu yaklaşım, kodun daha düzenli ve ölçeklenebilir olmasını sağlayacaktır. Örneğin, fiyatlara zam gelirse, sadece sözlüğü güncellemem yetecek.
Ayrıca, bu yaklaşım, pizza boyutlarına göre fiyatları almayı da kolaylaştıracak. Örneğin, pizza_fiyatlari[pizza_boyutu]
ifadesi, seçilen pizza boyutunun fiyatını doğrudan sözlükten alır. Benzer şekilde, extra_peynir_fiyatlari[pizza_boyutu]
ifadesi, seçilen pizza boyutu için ekstra peynir fiyatını alır. Bu nedenle, sözlük kullanımı, kodun okunabilirliğini ve bakımını arttıracaktır. Bakınız:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Pizza fiyatları pizza_fiyatlari = {"S": 25, "M": 30, "L": 35} # Ekstra peynir fiyatları extra_peynir_fiyatlari = {"S": 2, "M": 3, "L": 3} # İçecek fiyatı icecek_fiyati = 2 # Müşterinin siparişini al pizza_boyutu = input("Lütfen pizza boyutunu girin (s, m, l): ").upper() extra_peynir = input("Extra peynir ister misiniz? (e/h): ").upper() icecek = input("İçecek ister misiniz? (e/h): ").upper() # Siparişin toplam ücretini hesapla toplam_ucret = pizza_fiyatlari[pizza_boyutu] if extra_peynir == "E": toplam_ucret += extra_peynir_fiyatlari[pizza_boyutu] if icecek == "E": toplam_ucret += icecek_fiyati # Toplam ücreti yazdır print("Toplam ücret: {} TL".format(toplam_ucret)) |