DSCC Mini Workshop 2
From CommunityData
Some Useful Resouces
python data types cheat sheet python loops cheat sheet
Use Python Tutor To Visualize Loops
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
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
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