Get Pokemon - codepath/compsci_guides GitHub Wiki

Unit 5 Session 1 (Click for link to problem statements)

U-nderstand

Understand what the interviewer is asking for by using test cases and questions about the problem.

  • What should be returned if no Pokemon match the given type?
    • An empty list should be returned to indicate no matches.

P-lan

Plan the solution with appropriate visualizations and pseudocode.

General Idea: Traverse the list of Pokemon instances to find and collect those that match the specified type.

1. Create an empty list called `have_type` to store Pokemon instances that match the given type.
2. Iterate through the list `my_pokemon`.
3. For each Pokemon, check if `pokemon_type` is in their types list.
4. If it is, add the Pokemon instance to the `have_type` list.
5. Return the `have_type` list containing all matching Pokemon.

⚠️ Common Mistakes

  • Neglecting to check for type presence in the types list properly.
  • Returning incorrect data types or failing to return anything at all.

I-mplement

def find_pokemon(my_pokemon, pokemon_type):
    have_type = []

    for pokemon in my_pokemon:
        if pokemon_type in pokemon.types:
            have_type.append(pokemon)

    return have_type


## Testing example:
have_type = find_pokemon(my_pokemon, pokemon_type)
for pokemon in have_type:
    print(pokemon.name)