BaşlayınÜcretsiz Başlayın

Tek seferlik hesaplama döngüsü

Her Pokémon’un jenerasyonunu temsil eden bir tamsayı listesi oturumuna generations adıyla yüklendi. Her jenerasyonun sayısını toplamak ve bu sayıların toplam içindeki yüzde payını hesaplamak istiyorsun.

Aşağıdaki döngü bu işi yapmak için yazıldı:

for gen,count in gen_counts.items():
    total_count = len(generations)
    gen_percent = round(count / total_count * 100, 2)
    print(
      'generation {}: count = {:3} percentage = {}'
      .format(gen, count, gen_percent)
    )

Hadi bu döngüyü, tek seferlik bir hesabı döngünün dışına taşıyarak daha verimli hale getirelim.

Bu egzersiz

Verimli Python Kodu Yazmak

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • collections modülünden Counter'ı içe aktar.
  • generations listesinden her jenerasyonun sayısını toplamak için Counter() kullan. Bunu gen_counts olarak kaydet.
  • Tek seferlik bir hesabı döngünün dışına (üstüne) alacak şekilde daha iyi bir for döngüsü yaz. Orijinal for döngüsüyle aynı sözdizimini kullan (tek seferlik hesabı kopyala ve döngünün üstüne yapıştır).

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Import Counter
____

# Collect the count of each generation
gen_counts = ____

# Improve for loop by moving one calculation above the loop
total_count = ____

for gen,count in gen_counts.items():
    gen_percent = round(count / total_count * 100, 2)
    print('generation {}: count = {:3} percentage = {}'
          .format(gen, count, gen_percent))
Kodu Düzenle ve Çalıştır