Some Useful Resouces[edit]
Use Python Tutor To Visualize Loops[edit]
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
