Skip to content
Intermediate Python
  • AI Chat
  • Code
  • Report
  • Intermediate Python

    Run the hidden code cell below to import the data used in this course.

    # Dictionary of dictionaries
    europe = { 'spain': { 'capital':'madrid', 'population':46.77 },
               'france': { 'capital':'paris', 'population':66.03 },
               'germany': { 'capital':'berlin', 'population':80.62 },
               'norway': { 'capital':'oslo', 'population':5.084 } }
    

    Dictionaries can contain key:value pairs where the values are again dictionaries.

    As an example, have a look at the script where another version of europe - the dictionary you've been working with all along - is coded. The keys are still the country names, but the values are dictionaries that contain more information than just the capital.

    It's perfectly possible to chain square brackets to select elements. To fetch the population for Spain from europe, for example, you need:

    Empire State building prediction

    # numpy and matplotlib imported, seed set
    
    # Simulate random walk 500 times
    all_walks = []
    for i in range(500) :
        random_walk = [0]
        for x in range(100) :
            step = random_walk[-1]
            dice = np.random.randint(1,7)
            if dice <= 2:
                step = max(0, step - 1)
            elif dice <= 5:
                step = step + 1
            else:
                step = step + np.random.randint(1,7)
            if np.random.rand() <= 0.001 :
                step = 0
            random_walk.append(step)
        all_walks.append(random_walk)
    
    # Create and plot np_aw_t
    np_aw_t = np.transpose(np.array(all_walks))
    
    # Select last row from np_aw_t: ends
    ends = np_aw_t[-1,:]
    
    # Plot histogram of ends, display plot
    plt.hist(ends)
    plt.show() 
    # numpy and matplotlib imported, seed set
    
    # Simulate random walk 500 times
    all_walks = []
    for i in range(500) :
        random_walk = [0]
        for x in range(100) :
            step = random_walk[-1]
            dice = np.random.randint(1,7)
            if dice <= 2:
                step = max(0, step - 1)
            elif dice <= 5:
                step = step + 1
            else:
                step = step + np.random.randint(1,7)
            if np.random.rand() <= 0.001 :
                step = 0
            random_walk.append(step)
        all_walks.append(random_walk)
    
    # Create and plot np_aw_t
    np_aw_t = np.transpose(np.array(all_walks))
    
    # Select last row from np_aw_t: ends
    ends = np_aw_t[-1,:]
    
    # Plot histogram of ends, display plot
    plt.hist(ends)
    plt.show() 
    Run cancelled

    Take Notes

    Add notes about the concepts you've learned and code cells with code you want to keep.

    Add your notes here

    # Add your code snippets here

    Explore Datasets

    Use the DataFrames imported in the first cell to explore the data and practice your skills!

    • Create a loop that iterates through the brics DataFrame and prints "The population of {country} is {population} million!".
    • Create a histogram of the life expectancies for countries in Africa in the gapminder DataFrame. Make sure your plot has a title, axis labels, and has an appropriate number of bins.
    • Simulate 10 rolls of two six-sided dice. If the two dice add up to 7 or 11, print "A win!". If the two dice add up to 2, 3, or 12, print "A loss!". If the two dice add up to any other number, print "Roll again!".