Intro to Programming and Data Science (Summer 2020)/Day 3 Coding Challenges: Difference between revisions

From CommunityData
(Copying content from previous class)
 
No edit summary
Line 7: Line 7:
* Chapter 8: Exercise 4*, 5*, 6
* Chapter 8: Exercise 4*, 5*, 6


== Baby Name Challenges ==
== Wordplay Challenges ==


Download the [https://github.com/CommunityDataScienceCollective/CDSW_Babynames/archive/master.zip baby names data and code].
Check out the [[Wordplay]] project which was developed for a different version of this course, and complete as many of the following as you can.


We will go through the babynames1.py, babynames2.py, and babynames3.py files in class. Once we understand what they are doing, you can use them as a springboard to write programs that do each of the following:
# Find all words that start with 'a' and are 9 or more letters long.
# What is the longest word that starts with a 'q'?
# Find all words that end with 'nge'
# Find a word that matches "a*ey" (here "*" means any letter). Are there any words that match?
# Print every other word that matches the condition in (1) above.
# Find at least one word that uses all five vowels in order.
# For every letter, print the word that uses that character the most. (Hint: use two nested for loops. First one is
 
    for letter in 'abcdefghijklmnopqrstuvwxyz':
        # do something


# Search for your own name. Are there both boys and girls that have your name? Is it more popular for one group than for the other?
# (Challenge) Find the longest string where no character appears more than 1 time. (Hint: look up counters)
#* Hint: don't use a for loop for this one.
# What is the most common name for each gender?
# What is the least common name?
# How often does the least common name occur? (Does that bother you?)
# Are there more boys names or girls names?
#* What about that start with "a"?
#* (Challenge!) For every letter, tell if there are more boys names or girls names.
# What is the longest name in the dataset?
# How many boys and girls are described in the dataset (i.e., how many boys and girls born in 2018 have names given to at least four others)?
# How many boys names are also girls names? How many girls names are also boys names?
# What is the most popular girls name that is also a boys name?
# Discover at least one fact about the names that is not listed above.


=== Above and beyond ===
 
# Plot (in Excel) the number of people who share a name with n other people in the data set, where n is 4 to 19.
Use Python to find one other interesting fact about the data set. Examples (that you can't use) might be:
* One of the words that is tied for the most vowels is aquifoliaceous
* The word with the highest consonant to vowel ratio is sulphhydryls

Revision as of 17:56, 15 May 2020

Questions from Python For Everybody

  • Chapter 5: Exercises 1 and 2
  • Chapter 6: Exercise 5
  • Chapter 8: Exercise 4*, 5*, 6

Wordplay Challenges

Check out the Wordplay project which was developed for a different version of this course, and complete as many of the following as you can.

  1. Find all words that start with 'a' and are 9 or more letters long.
  2. What is the longest word that starts with a 'q'?
  3. Find all words that end with 'nge'
  4. Find a word that matches "a*ey" (here "*" means any letter). Are there any words that match?
  5. Print every other word that matches the condition in (1) above.
  6. Find at least one word that uses all five vowels in order.
  7. For every letter, print the word that uses that character the most. (Hint: use two nested for loops. First one is
   for letter in 'abcdefghijklmnopqrstuvwxyz':
       # do something
  1. (Challenge) Find the longest string where no character appears more than 1 time. (Hint: look up counters)


Use Python to find one other interesting fact about the data set. Examples (that you can't use) might be:

  • One of the words that is tied for the most vowels is aquifoliaceous
  • The word with the highest consonant to vowel ratio is sulphhydryls