1. Learn
  2. /
  3. Курси
  4. /
  5. Ефективне написання коду Python

Connected

вправа

Одноразове обчислення в циклі

До вашої сесії завантажено список цілих чисел generations, який представляє покоління кожного покемона. Ви хочете зібрати кількість кожного покоління та визначити, який відсоток кожне покоління становить від загальної кількості чисел.

Нижче наведено цикл, написаний для виконання цього завдання:

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

Зробімо цей цикл ефективнішим, винісши одноразове обчислення за межі циклу.

Інструкції

100 XP
  • Імпортуйте Counter з модуля collections.
  • Використайте Counter() для підрахунку кількості кожного покоління у списку generations. Збережіть це як gen_counts.
  • Напишіть кращий цикл for, у якому одноразове обчислення буде розміщене поза (над) циклом. Використайте той самий синтаксис, що й в оригінальному циклі (просто скопіюйте та вставте одноразове обчислення над циклом).