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.

    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
    
    #pour les listes :
    # house list of lists
    house = [["hallway", 11.25], 
             ["kitchen", 18.0], 
             ["living room", 20.0], 
             ["bedroom", 10.75], 
             ["bathroom", 9.50]]
             
    # Build a for loop from scratch
    
    for h in house :
        print( "The " +str(h[0])+  " is " +str(h[1])+ " sqm." )
    #Pour les dict 
    # Definition of dictionary
    europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin',
              'norway':'oslo', 'italy':'rome', 'poland':'warsaw', 'austria':'vienna' }
              
    # Iterate over europe
    for key, value in europe.items():
        print("the capital of " +key+ " is " +value)
    # for Data frame
    for lab, row in cars.iterrows():
        print(lab)
        print(row)
    # Import cars data
    import pandas as pd
    cars = pd.read_csv('cars.csv', index_col = 0)
    
    # Adapt for loop
    for lab, row in cars.iterrows() :
         print(lab+ ": "+ str(row['cars_per_cap']))
            
            #####Resultat
        US: 809
        AUS: 731
        JPN: 588
        IN: 18
        RU: 200
        MOR: 70
        EG: 45
    # Import cars data
    import pandas as pd
    cars = pd.read_csv('cars.csv', index_col = 0)
    
    # Use .iterrows()
    for lab, row in cars.iterrows() :
        cars.loc[lab, "COUNTRY"] = row["country"].upper()
        
        
    # Use .apply(str.upper)
    
    cars["COUNTRY"] = cars["country"].apply(str.upper)
    print ( cars )

    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!".
    #Jeu de dés: lancé au sort un dé avancé ou reculé d'un pas ou soit quand la face du dé est egale à 6 avancé aléatoirement 
    
    # NumPy is imported, seed is set
    
    # Starting step
    step = 50
    
    # Roll the dice
    dice = np.random.randint(1,7)
    
    # Finish the control construct
    if dice <= 2 :
        step = step - 1
    elif dice >2 and dice <=5 :
        step = step + 1
    else :
        step = step + np.random.randint(1,7)
    
    # Print out dice and step
    print(dice)
    print(step)

    Make a list random_walk that contains the first step, which is the integer 0. Finish the for loop: The loop should run 100 times. On each iteration, set step equal to the last element in the random_walk list. You can use the index -1 for this. Next, let the if-elif-else construct update step for you. The code that appends step to random_walk is already coded. Print out random_walk.

    # NumPy is imported, seed is set
    
    # Initialize random_walk
    random_walk = [0]
    
    # Complete the ___
    for x in range(100) :
        # Set step: last element in random_walk
        step = random_walk[-1]
    
        # Roll the dice
        dice = np.random.randint(1,7)
    
        # Determine next step
        if dice <= 2:
            # Replace below: use max to make sure step can't go below 0
            step = max(0, step - 1)
        elif dice <= 5:
            step = step + 1
        else:
            step = step + np.random.randint(1,7)
    
        # append next_step to random_walk
        random_walk.append(step)
    
    # Print random_walk
    print(random_walk)