Özet - Alışveriş Sepeti Hataları
Coddy'nin Python Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 66 / 78.
Görev
OrtaHata işleme özelliğine sahip bir alışveriş sepetini simüle eden bir program oluştur. Görevin:
- Müşteri siparişlerini işleyen
handle_shopping_cartadlı bir işlev oluşturmak - İşlev, "item:quantity" biçimindeki sipariş dizelerinden oluşan bir listeyi kabul etmelidir
- Her siparişi şu şekilde işle:
- Ögeyi ve miktarı almak için giriş dizesini bölmek
- Miktarı bir tamsayıya dönüştürmek
- Ögeyi, miktarı değer olacak şekilde bir alışveriş sepeti sözlüğüne eklemek
- Bir öge sepette zaten varsa yeni miktarı mevcut miktarına eklemek
- Şu özel hataları ele al:
- Giriş biçimi yanlışsa (iki nokta eksikse) "Invalid format: {order}" yazdır
- Miktar geçerli bir sayı değilse "Invalid quantity: {order}" yazdır
- Miktar negatifse "Negative quantity not allowed: {order}" yazdır
- Tamamlanmış alışveriş sepeti sözlüğünü döndürmek
Biçimi ve negatif miktarı bir if ile kontrol et. Yalnızca miktarı bir tamsayıya dönüştürmek hata oluşturabilir; bu nedenle except ValueError, "Invalid quantity: {order}" ifadesinin yazdırıldığı yerdir. Son except Exception as e bloğunu bir güvenlik ağı olarak koru ve orada "Unexpected error: {e}" yazdır.
Kendin dene
def handle_shopping_cart(orders):
# Alışveriş sepeti için boş bir sözlük oluştur
cart = {}
# Listedeki her siparişi işle
for order in orders:
try:
# Siparişi ayır, formatı ve miktarı kontrol et, sonra sepete ekle
pass
except ValueError:
# Miktar bir sayı değildi
pass
except Exception as e:
# Beklenmeyen herhangi bir şey
pass
# Tamamlanmış sepeti döndür
return cartMantık ve Akış bölümündeki tüm dersler
1Değişken Keşfi
SabitlerÇoklu Değişken AtamalarıDeğişken TakasıYer Tutucu DeğişkenlerSayıları YuvarlamaListe Tür Dönüşümü4Rehber Uygulaması
Menüyü GörüntüleKişi Ekle7Kümeler Bölüm 2
Matematiksel İşlemler Bölüm 1Matematiksel İşlemler Bölüm 2Özet - Hazine AvıAlt Kümeler ve Üst KümelerKümeler Üzerinde YinelemeÖzet - Turnuva Takipçisi10Temel List Comprehension Yapıları
SözdizimiBasit Listeler OluşturmaKoşul EklemeVeri Toplulaştırma KullanımıÖzet - Liste EviÖzet - Özgürlük Elementleri13Envanter Yönetim Sistemi
Projeye Genel BakışÖğe Ekle2Sözlükler Bölüm 1
Sözlük Nedir?Sözlük OluşturmaDeğerlere ErişmeSözlükleri DeğiştirmeÖzet - Tarif Yöneticisi5İleri Seviye Karar Yapıları
Ternary OperatörüÜyelik KontrolleriKimlik KontrolleriGirintileme HatalarıÖzet - Tatil Filtresi8Öğrenci Kayıt Yöneticisi
Projeye Genel BakışÖğrenci Ekle11İleri Seviye Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar Görevi - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Listeleri Toplama14Yüksek Mertebeden Fonksiyonlar
Map FonksiyonuFilter FonksiyonuÖzet - E-posta DoğrulayıcıÖzet - Sayı İşleyici3Sözlükler Bölüm 2
Sözlük Metotlarıİç İçe SözlüklerAnahtar KontrolüSözlüklerde DöngülerÖzet - Frekans Sayacı9İleri Düzey Veri Toplulaştırma
Toplam KullanımıMinimum ve Maksimumu BulmaVerileri Verimli SıralamaÖzet - Dictionary Sıralayıcı12Temel Hata Yönetimi
Hata Yönetimi Nedir?Try ve Except BloğuBirden Fazla İstisnayı YönetmeÖzet - Alışveriş Sepeti HatalarıKendi başına pratik yap: Online Python derleyicisi