|
1 | 1 | ## Outline |
2 | | -1. **article**: Choose the correct article for a given word. |
3 | | -2. **jump_the_five**: Encode all numbers in a given text using a Jump-The-Five algorithm. |
4 | | -3. **picnic**: Manipulate strings and lists based on the number of items present. |
5 | | -4. **wc**: Write a program to count the lines, words, and characters in text. |
6 | | -5. **howler**: Convert all input text to uppercase. |
7 | | -6. **apples_and_bananas**: Substitute vowels in text. |
8 | | -7. **telephone**: Introduce mutations in a string over a given number of iterations. |
9 | | -8. **bottles_of_beer**: Write the "99 Bottles of Beer On The Wall" song. |
10 | | -9. **gashlycrumb**: Retreive a line of text from a file by the first letter. |
11 | | -10. **ransom_note**: Randomly alternate the case of input text to simulate a ransom note. |
12 | | -11. **rhymer**: Substitute alternate consonant prefixes onto a stem to find rhyming "words." |
13 | | -12. **rock_paper_scissors**: Write the "Rock, Paper, Scissors" game. |
14 | | -13. **abuse**: Creating insults by randomly choosing from lists of words. |
15 | | -14. **scrambler**: Randomly shuffle the middle letters of every word in a text leaving the first and last letters in place. |
16 | | -15. **bacronym**: Use dictionaries to organize words by first letter, then randomly choose words to create "meanings" for a given acronym. |
17 | | -16. **wod**: Generate a Workout-Of-the-Day (WOD) from a list of possible exercises. |
18 | | -17. **blackjack**: An abbreviated version of the card game "Blackjack" (AKA "Twenty-One"). |
19 | | -18. **family_tree**: Parse a text file containing the description of family trees, visualize the resulting graphs using GraphViz. |
20 | | -19. **gematria**: Numerically encode each word of text by summing the ordinal values of the characters. |
21 | | -20. **histy**: Create a textual histogram showing the frequency of letters in text. |
22 | | -21. **mommys_little_helper**: Find words matching a given pattern to help solve a crossword puzzle. Explores manually finding words and using regular expressions. |
23 | | -22. **kentucky_friar**: Drop the "g" from two-syllable words ending in "-ing"; convert "you" to "y'all." |
24 | | -23. **mad_libs**: Create an interative terminal version of "Mad Libs." Hilarity is sure to ensue. |
25 | | -24. **license_plates**: Find all possible permutations of a licence plate given a confusion matrix. Explore how and verify that regular expressions work. |
26 | | -25. **gibberish**: Use a Markov chain to create new words from a set of training files. |
27 | | -26. **piggy**: Encode text using the Pig Latin algorithm. |
28 | | -27. **soundex_rhymer**: Using the Soundex function to find words ending with a given sound. |
29 | | -28. **tictactoe**: Play a round of Tic-Tac-Toe. |
30 | | -29. **twelve_days_of_christmas**: Write a program that will print the "Twelve Days of Christmas" song up to a given day. |
31 | | -30. **anagram**: Finding anagrams of words. |
32 | | -31. **hangman**: Write an interactive terminal game where the user guesses a word. |
33 | | -32. **first_bank_of_change**: Find all possible combinations of pennies, nickels, dimes, and quarters for an amount between 1 and 100. |
34 | | -33. **pareto**: Model how random events of zero-sum encounters led to inequitable distributions. |
35 | | -34. **runny_babbit**: Introduce Spoonerisms into text by switching the initial consonant sounds of neighboring words. |
36 | | -35. **markov_chain**: Use the Markov chain algorithm to generate novel texts based on training sets. |
37 | | -36. **hamming_chain**: Find paths through words that are separated by a given Hamming distance. |
38 | | -37. **morse**: Encrypt and decrypt text to and from two versions of Morse code. |
39 | | -38. **rot13**: Encode and decode text by rotating the characters through a list. |
40 | | -39. **word_search**: Find all the words hidden in the rows, columns, and diagonals in a block of text. |
41 | | -40. **set**: Find "set" of cards from a deck of 81 where each of 4 attributes can have each of 3 values and a "set" of 3 cards is either the same or entirely different for each of the 4 attributes. |
42 | | -41. **scrabble**: Find all possible words you could make from a random set of seven characters. |
| 2 | +1. **getting_started**: Introduction to Python language basics, the `argparse` module, and the `new.py` program for creating new programs using `argparse`. |
| 3 | +2. **article**: Choose the correct article for a given word. |
| 4 | +3. **jump_the_five**: Encode all numbers in a given text using a Jump-The-Five algorithm. |
| 5 | +4. **picnic**: Manipulate strings and lists based on the number of items present. |
| 6 | +5. **wc**: Write a program to count the lines, words, and characters in text. |
| 7 | +6. **howler**: Convert all input text to uppercase. |
| 8 | +7. **apples_and_bananas**: Substitute vowels in text. |
| 9 | +8. **telephone**: Introduce mutations in a string over a given number of iterations. |
| 10 | +9. **bottles_of_beer**: Write the "99 Bottles of Beer On The Wall" song. |
| 11 | +10. **gashlycrumb**: Retreive a line of text from a file by the first letter. |
| 12 | +11. **ransom_note**: Randomly alternate the case of input text to simulate a ransom note. |
| 13 | +12. **rhymer**: Substitute alternate consonant prefixes onto a stem to find rhyming "words." |
| 14 | +13. **rock_paper_scissors**: Write the "Rock, Paper, Scissors" game. |
| 15 | +14. **abuse**: Creating insults by randomly choosing from lists of words. |
| 16 | +15. **scrambler**: Randomly shuffle the middle letters of every word in a text leaving the first and last letters in place. |
| 17 | +16. **bacronym**: Use dictionaries to organize words by first letter, then randomly choose words to create "meanings" for a given acronym. |
| 18 | +17. **wod**: Generate a Workout-Of-the-Day (WOD) from a list of possible exercises. |
| 19 | +18. **blackjack**: An abbreviated version of the card game "Blackjack" (AKA "Twenty-One"). |
| 20 | +19. **family_tree**: Parse a text file containing the description of family trees, visualize the resulting graphs using GraphViz. |
| 21 | +20. **gematria**: Numerically encode each word of text by summing the ordinal values of the characters. |
| 22 | +21. **histy**: Create a textual histogram showing the frequency of letters in text. |
| 23 | +22. **mommys_little_helper**: Find words matching a given pattern to help solve a crossword puzzle. Explores manually finding words and using regular expressions. |
| 24 | +23. **kentucky_friar**: Drop the "g" from two-syllable words ending in "-ing"; convert "you" to "y'all." |
| 25 | +24. **mad_libs**: Create an interative terminal version of "Mad Libs." Hilarity is sure to ensue. |
| 26 | +25. **license_plates**: Find all possible permutations of a licence plate given a confusion matrix. Explore how and verify that regular expressions work. |
| 27 | +26. **gibberish**: Use a Markov chain to create new words from a set of training files. |
| 28 | +27. **piggy**: Encode text using the Pig Latin algorithm. |
| 29 | +28. **soundex_rhymer**: Using the Soundex function to find words ending with a given sound. |
| 30 | +29. **tictactoe**: Play a round of Tic-Tac-Toe. |
| 31 | +30. **twelve_days_of_christmas**: Write a program that will print the "Twelve Days of Christmas" song up to a given day. |
| 32 | +31. **anagram**: Finding anagrams of words. |
| 33 | +32. **hangman**: Write an interactive terminal game where the user guesses a word. |
| 34 | +33. **first_bank_of_change**: Find all possible combinations of pennies, nickels, dimes, and quarters for an amount between 1 and 100. |
| 35 | +34. **pareto**: Model how random events of zero-sum encounters led to inequitable distributions. |
| 36 | +35. **runny_babbit**: Introduce Spoonerisms into text by switching the initial consonant sounds of neighboring words. |
| 37 | +36. **markov_chain**: Use the Markov chain algorithm to generate novel texts based on training sets. |
| 38 | +37. **hamming_chain**: Find paths through words that are separated by a given Hamming distance. |
| 39 | +38. **morse**: Encrypt and decrypt text to and from two versions of Morse code. |
| 40 | +39. **rot13**: Encode and decode text by rotating the characters through a list. |
| 41 | +40. **word_search**: Find all the words hidden in the rows, columns, and diagonals in a block of text. |
| 42 | +41. **set**: Find "set" of cards from a deck of 81 where each of 4 attributes can have each of 3 values and a "set" of 3 cards is either the same or entirely different for each of the 4 attributes. |
| 43 | +42. **scrabble**: Find all possible words you could make from a random set of seven characters. |
0 commit comments