---
# System prepended metadata

title: 'Unit 1: Lesson 7 - Coding Lab (Data Flow: Input)'
tags: ['''23-''24']

---

# Unit 1: Lesson 7 - Coding Lab (Data Flow: Output)

## Objective:
The objective of this project is to practice creating variables, assigning values to them, and using prompt() to take in user input to create dynamic program.

## Instructions

### Part 1: Variable Declaration and Assignment [1pt]

1. Start by declaring variables to store information about a user's profile. Variables should include `name`, `age`, `location`.

2. Use prompt() to ask the user for their name, age, location. Assign the user's input to the respective variables. [1.5: 1pt]

### Part 2: Object Creation [1pt]

1. Create an object called `userProfile` and use the variables to store the user's information as values of the object. The object should have the following keys:
    - userName
    - userAge
    - userLocation

    Hint: You can assign variables as values to keys in objects as below
    ```javascript=
    let petName = "Fido"
    let petType = "Dog"
    let petBreed = "Boxer"

    let petObject = {
        name: petName,
        type: petType,
        breed: petBreed
    }
    ```
    [1.3: 1pt]

### Part 3: Output User Profile [2 pts]

1. Use console.log() and object dot notation to output the user's profile to the console in a structured and readable format as below
    ```
    User Profile
    Name: [user's name]
    Age: [user's age]
    Location: [user's location]
    ```
    [1.3: 1pt]
    [1.5: 1pt]
    
### Part 4: Expand User Profile [4 pts]

1. Ask the user for additional details, using prompt(). Update the userProfile object to include these new details. Ask for the following:
    - User hobbies
        - Ask the user for three of their hobbies and store these hobbies in a `hobbies` key inside the `userProfile` object
    - Zodiac Sign
        - Ask the user for their zodcias sign and store it in a `zodiac` key inside the `userProfile` object
    [1.3: 2pts]
2. Use console.log() and object dot notation again to display the updated user profile, including the new information provided by the user. Use the following format
    ```
    User Profile:
        Name: [user's name]
        Age: [user's age]
        Zodiac: [user's zodiac sign]
        Location: [user's location]
        Hobbies:
             [user's hobbie # 1]
             [user's hobbie # 2]
             [user's hobbie # 3]
    ```
    [1.5: 2pt]