DSCC Mini Workshop 2

From CommunityData

Some Useful Resouces[edit]

python data types cheat sheet

python loops cheat sheet

Use Python Tutor To Visualize Loops[edit]

pythontutor.com

   columns = ["a","b"]
   rows = [1,2]
   for r in rows: 
       print("")
       for c in columns:
           print(c + str(r))

Notice how this is like a table or a spreadsheet.

Baby Names question 2[edit]

Are there more boys' names or girls' names? What about for particular first letters? What about for every first letter?

   import ssadata
   import string
   
   for letter in string.ascii_lowercase:
       count_boys_names = 0
       count_girls_names = 0
   
       for name in ssadata.boys.keys():
           if name[0] == letter:
               count_boys_names = ssadata.boys[name] + 1
   
       for name in ssadata.girls.keys():
           if name[0] == letter:
               count_girls_names = ssadata.girls[name] + 1
   
       if count_boys_names > count_girls_names:
           print("There are more BOYS names starting with the letter: " + letter)
   
       elif count_girls_names > count_boys_names:
           print("There are more GIRLS names starting with the letter: " + letter)
   
       elif count_boys_names == count_girls_names:
           print("There are the SAME NUMBER of boys and girls with names starting with the letter: " + letter)
   
       else:
           # this is impossible
           pass


Practice Using Dictionaries[edit]

ssdata has two dictionaries: ssdata.girls and ssdata.boys. We can put this data into a single structure. This will be useful when we use APIs which return a lot of data in a single but complex object. First lets's try it on a small amount of data.

   test_boys = {"d'angelo":100, "kelly":200}
   test_girls = {"moonyoung":200, "kelly":100}
   all_names = {}
   for name in test_boys:
       temp_dict = {"boys":0,"girls":0}
       temp_dict["boys"] = test_boys[name] 
       all_names[name] = temp_dict
       
   for name in test_girls:
       if name in all_names:
           temp_dict = all_names[name]
       else:
           temp_dict = {"boys":0,"girls":0}
       temp_dict["girls"] = test_girls[name]
       all_names[name] = temp_dict