Python Ödevleri - Gerçek Hayat Senaryoları
IF-ELIF-ELSE Ödevleri
1. Okul Kantine Sistemi 🏫
Açıklama: Okul kantininde çalışıyorsun ve öğrencilerin yaşına göre indirim uygulaman gerekiyor. Bu sistem sayesinde farklı yaş gruplarındaki öğrenciler uygun fiyatlarla alışveriş yapabilecek.
İndirim Oranları:
- 11-13 yaş: %20 indirim
- 14-16 yaş: %15 indirim
- 17-18 yaş: %10 indirim
- Diğer yaşlar: indirim yok
Görevin: Kullanıcıdan yaş ve ürün fiyatını al, indirimli fiyatı hesapla ve detaylı bilgi göster.
Başlangıç Kodu:
print("=== OKUL KANTİN SİSTEMİ ===")
yas = int(input("Yaşınızı girin: "))
fiyat = float(input("Ürün fiyatını girin (TL): "))
# Buradan devam et...
Örnek Çıktı:
=== OKUL KANTİN SİSTEMİ ===
Yaşınızı girin: 14
Ürün fiyatını girin (TL): 20
Yaş grubu: 14-16 yaş
İndirim oranı: %15
Normal fiyat: 20.0 TL
İndirim tutarı: 3.0 TL
Ödenecek tutar: 17.0 TL
İpucu: Yaş aralıklarını kontrol etmek için <= ve >= operatörlerini kullan.
2. Hava Durumu Kıyafet Önerisi 🌡️
Açıklama: Meteoroloji uygulaması geliştiriyorsun. Kullanıcıların hava sıcaklığına göre ne giyeceklerini bilmelerine yardımcı olacak bir sistem yapacaksın.
Sıcaklık Aralıkları:
- 30°C ve üzeri: "Şort ve tişört giy"
- 20-29°C arası: "Hafif kıyafetler giy"
- 10-19°C arası: "Sweatshirt veya hırka giy"
- 0-9°C arası: "Mont ve kalın kıyafetler giy"
- 0°C altı: "Çok kalın kıyafetler ve eldiven giy"
Başlangıç Kodu:
print("=== HAVA DURUMU KIYAFETÖNERİSİ ===")
sicaklik = int(input("Hava sıcaklığını girin (°C): "))
# if-elif-else yapısını buraya yaz...
Örnek Çıktı:
=== HAVA DURUMU KIYAFET ÖNERİSİ ===
Hava sıcaklığını girin (°C): 15
Sıcaklık: 15°C
Öneri: Sweatshirt veya hırka giy
Durum: Serin hava
İpucu: En yüksek sıcaklıktan başlayarak kontrol et, böylece mantık daha kolay olur.
3. Sinema Bilet Fiyatı 🎬
Açıklama: Sinema işletmecisisin ve günlere göre farklı fiyat politikan var. Ayrıca öğrencilere özel indirim uyguluyorsun.
Fiyat Listesi:
- Hafta içi (Pazartesi-Perşembe): 25 TL
- Cuma: 30 TL
- Hafta sonu (Cumartesi-Pazar): 35 TL
- Öğrenci indirimi: %25 (varsa)
Başlangıç Kodu:
print("=== SİNEMA BİLET SİSTEMİ ===")
gun = input("Hangi gün? (pazartesi, salı, vs.): ").lower()
ogrenci = input("Öğrenci misiniz? (evet/hayır): ").lower()
# Gün kontrolü için if-elif yapısını buraya yaz...
Örnek Çıktı:
=== SİNEMA BİLET SİSTEMİ ===
Hangi gün? (pazartesi, salı, vs.): cumartesi
Öğrenci misiniz? (evet/hayır): evet
Gün: Cumartesi (Hafta sonu)
Normal fiyat: 35 TL
Öğrenci indirimi: %25 (8.75 TL)
Ödenecek tutar: 26.25 TL
İpucu: String karşılaştırmasında büyük-küçük harf sorununu önlemek için .lower() kullan.
4. Otobüs Kart Sistemi 🚌
Açıklama: Şehrin otobüs kartı sisteminde çalışıyorsun. Yolcuların bakiye durumlarına göre onları bilgilendirmen gerekiyor.
Bakiye Durumları:
- 50 TL ve üzeri: "Rahatça seyahat edebilirsiniz"
- 20-49 TL: "Orta seviye bakiye"
- 5-19 TL: "Bakiye azalıyor, yükleme yapın"
- 0-4 TL: "Acil bakiye yükleyin!"
- Negatif bakiye: "Kartınız bloke, borç ödeyiniz"
Başlangıç Kodu:
print("=== OTOBÜS KART SİSTEMİ ===")
bakiye = float(input("Kart bakiyenizi girin (TL): "))
# Bakiye kontrolü için if-elif yapısını buraya yaz...
Örnek Çıktı:
=== OTOBÜS KART SİSTEMİ ===
Kart bakiyenizi girin (TL): 12.50
Mevcut bakiye: 12.5 TL
Durum: Bakiye azalıyor, yükleme yapın
Önerilen yükleme: En az 20 TL
İpucu: Negatif sayıları kontrol etmek için < 0 koşulunu kullan.
5. Spor Salonu Üyelik 💪
Açıklama: Spor salonu çalışanısın ve üyelik paketlerine göre fiyat hesaplıyorsun. Uzun vadeli üyeliklerde indirim var, öğrencilere de ek indirim uyguluyorsun.
Aylık Ücretler:
- 1 ay: 300 TL
- 3 ay: 250 TL (aylık)
- 6 ay: 200 TL (aylık)
- 12 ay: 150 TL (aylık)
- Öğrenci indirimi: %30 (varsa)
Başlangıç Kodu:
print("=== SPOR SALONU ÜYELİK ===")
ay_sayisi = int(input("Kaç aylık üyelik? (1, 3, 6, 12): "))
ogrenci = input("Öğrenci misiniz? (evet/hayır): ").lower()
# Ay sayısına göre aylık ücret belirleme...
Örnek Çıktı:
=== SPOR SALONU ÜYELİK ===
Kaç aylık üyelik? (1, 3, 6, 12): 6
Öğrenci misiniz? (evet/hayır): evet
Üyelik süresi: 6 ay
Aylık ücret: 200 TL
Toplam (öğrenci indirimi öncesi): 1200 TL
Öğrenci indirimi: %30 (360 TL)
Ödenecek toplam tutar: 840 TL
İpucu: Önce aylık ücreti belirle, sonra toplam tutarı hesapla, en son indirim uygula.
MATCH-CASE Ödevleri
6. Fast Food Sipariş Sistemi 🍔
Açıklama: Fast food restoranında sipariş sistemini yönetiyorsun. Her ürünün özel bir kodu var ve müşteriler bu kodları kullanarak sipariş veriyor.
Menü Kodları:
- "H1": Hamburger 45 TL
- "H2": Cheeseburger 50 TL
- "P1": Pizza 60 TL
- "D1": Döner 35 TL
- "I1": İçecek 15 TL
Başlangıç Kodu:
print("=== FAST FOOD SİPARİŞ SİSTEMİ ===")
print("Menü Kodları: H1, H2, P1, D1, I1")
kod = input("Ürün kodunu girin: ").upper()
match kod:
# Case'leri buraya yaz...
Örnek Çıktı:
=== FAST FOOD SİPARİŞ SİSTEMİ ===
Menü Kodları: H1, H2, P1, D1, I1
Ürün kodunu girin: h2
Seçilen ürün: Cheeseburger
Fiyat: 50 TL
Sipariş alındı!
İpucu: Kullanıcı girişini .upper() ile büyük harfe çevir, böylece kod tutarlılığı sağla.
7. Matematik Hesap Makinesi 🧮
Açıklama: Basit bir hesap makinesi programı yazacaksın. İki sayı ve bir işlem alarak sonucu hesaplayacak.
Desteklenen İşlemler:
- "+": Toplama
- "-": Çıkarma
- "*": Çarpma
- "/": Bölme
- "**": Üs alma
Başlangıç Kodu:
print("=== MATEMATİK HESAP MAKİNESİ ===")
sayi1 = float(input("Birinci sayıyı girin: "))
sayi2 = float(input("İkinci sayıyı girin: "))
islem = input("İşlem (+, -, *, /, **): ")
match islem:
# Case'leri buraya yaz...
Örnek Çıktı:
=== MATEMATİK HESAP MAKİNESİ ===
Birinci sayıyı girin: 10
İkinci sayıyı girin: 3
İşlem (+, -, *, /, **): /
İşlem: 10.0 ÷ 3.0
Sonuç: 3.33
İpucu: Bölme işleminde sıfıra bölme kontrolü yapmayı unutma. sayi2 == 0 koşulunu kontrol et.
8. Okul Not Sistemi 📚
Açıklama: Öğretmensin ve öğrencilerin harf notlarını sayısal puana çevirmen gerekiyor. Bu sistem ile not ortalaması hesaplanabilecek.
Not Dönüşüm Tablosu:
- "AA": 95 puan
- "BA": 85 puan
- "BB": 75 puan
- "CB": 65 puan
- "CC": 55 puan
- "FF": 0 puan
Başlangıç Kodu:
print("=== OKUL NOT SİSTEMİ ===")
harf_not = input("Harf notunu girin (AA, BA, BB, CB, CC, FF): ").upper()
match harf_not:
# Case'leri buraya yaz...
Örnek Çıktı:
=== OKUL NOT SİSTEMİ ===
Harf notunu girin (AA, BA, BB, CB, CC, FF): bb
Harf Notu: BB
Sayısal Karşılığı: 75 puan
Durum: Orta seviye başarı
İpucu: Harf notunu .upper() ile büyük harfe çevir. Her notun başarı durumunu da belirtebilirsin.
9. Oyun Seçim Menüsü 🎮
Açıklama: Oyun geliştiricisisin ve ana menü sistemini kodluyorsun. Oyuncular numaralı seçenekler arasından seçim yapacaklar.
Menü Seçenekleri:
- "1": "Yeni Oyun Başla"
- "2": "Kayıtlı Oyunu Yükle"
- "3": "Ayarlar"
- "4": "Yardım"
- "5": "Çıkış"
Başlangıç Kodu:
print("=== OYUN ANA MENÜSÜ ===")
print("1. Yeni Oyun Başla")
print("2. Kayıtlı Oyunu Yükle")
print("3. Ayarlar")
print("4. Yardım")
print("5. Çıkış")
secim = input("Seçiminizi yapın (1-5): ")
match secim:
# Case'leri buraya yaz...
Örnek Çıktı:
=== OYUN ANA MENÜSÜ ===
1. Yeni Oyun Başla
2. Kayıtlı Oyunu Yükle
3. Ayarlar
4. Yardım
5. Çıkış
Seçiminizi yapın (1-5): 1
Seçim: Yeni Oyun Başla
Oyun başlatılıyor...
Karakterinizi oluşturun!
İpucu: Her seçenek için farklı mesajlar yazarak oyun deneyimini zenginleştir.
10. Sosyal Medya Durum 📱
Açıklama: Sosyal medya uygulaması geliştiriyorsun ve kullanıcıların durumlarını göstermek için bir sistem kuruyorsun.
Durum Kodları:
- "online": "Kullanıcı şu anda aktif"
- "away": "Kullanıcı uzakta (5 dk önce görüldü)"
- "busy": "Kullanıcı meşgul"
- "invisible": "Kullanıcı görünmez modda"
- "offline": "Kullanıcı çevrimdışı"
Başlangıç Kodu:
print("=== SOSYAL MEDYA DURUM SİSTEMİ ===")
kullanici_adi = input("Kullanıcı adını girin: ")
durum = input("Durum (online, away, busy, invisible, offline): ").lower()
match durum:
# Case'leri buraya yaz...
Örnek Çıktı:
=== SOSYAL MEDYA DURUM SİSTEMİ ===
Kullanıcı adını girin: ahmet_123
Durum (online, away, busy, invisible, offline): busy
Kullanıcı: ahmet_123
Durum: Kullanıcı meşgul
Simge: 🔴
Son görülme: Şu anda
İpucu: Her duruma uygun emoji ekleyerek görsel zenginlik katabilirsin.
Genel Talimatlar 📋
- Veri Girişi:
input()fonksiyonu ile kullanıcıdan veri al - Çıktı:
print()fonksiyonu ile sonuçları göster - Veri Tipleri: Sadece
int,float,str,boolkullan - Operatörler: Aritmetik (
+,-,*,/,**,%) ve boolean (and,or,not,==,!=,<,>,<=,>=) operatörler - Kod Stil: Değişken isimlerini anlamlı yap, yorum satırları ekle
- Test: Her ödev için farklı girişlerle test yap
Başarılar! 🎉