1. Aprende
  2. /
  3. Cursos
  4. /
  5. Scriere eficientă a codului Python

Connected

Ejercicio

Să legăm totul cap la cap: z-scorurile Pokémon

O listă cu 720 de Pokémon a fost încărcată în sesiunea ta sub numele names. Punctele de Sănătate (Health Points) ale fiecărui Pokémon sunt stocate într-un array NumPy numit hps. Vrei să analizezi aceste valori folosind z-scorul, pentru a vedea cu câte abateri standard diferă HP-ul fiecărui Pokémon față de media tuturor HP-urilor.

Codul de mai jos a fost scris pentru a calcula z-scorul HP pentru fiecare Pokémon și pentru a-i selecta pe cei cu cele mai mari HP-uri în funcție de z-scorurile lor:

poke_zscores = []

for name,hp in zip(names, hps):
    hp_avg = hps.mean()
    hp_std = hps.std()
    z_score = (hp - hp_avg)/hp_std
    poke_zscores.append((name, hp, z_score))
highest_hp_pokemon = []

for name,hp,zscore in poke_zscores:
    if zscore > 2:
        highest_hp_pokemon.append((name, hp, zscore))

Instrucciones 1/3

undefined XP
    1
    2
    3
  • Folosește NumPy pentru a elimina bucla for utilizată la calcularea z-scorurilor.
  • Apoi, combină obiectele names, hps și z_scores într-o listă numită poke_zscores2.