1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scriere eficientă a codului Python

Connected

exercițiu

Buclă cu calcul unic

O listă de numere întregi care reprezintă generația fiecărui Pokémon a fost încărcată în sesiunea ta sub numele generations. Vrei să aduni numărul de apariții al fiecărei generații și să determini ce procent reprezintă fiecare generație din totalul de elemente.

Bucla de mai jos a fost scrisă pentru a îndeplini această sarcină:

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)
    )

Hai să facem această buclă mai eficientă, mutând calculul unic în afara buclei.

Instrucțiuni

100 XP
  • Importă Counter din modulul collections.
  • Folosește Counter() pentru a număra apariția fiecărei generații din lista generations. Salvează rezultatul ca gen_counts.
  • Scrie o buclă for mai bună, care plasează un calcul unic în afara (deasupra) buclei. Folosește exact aceeași sintaxă ca în bucla originală (copiază și lipește pur și simplu calculul unic deasupra buclei).