└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 100 Days of Python 2 | This is the course resources for the Official [100 Days of Python Course](https://100daysofpython.dev) 3 | 4 | ## Day 1 - Working with Variables in Python to Manage Data 5 | 6 | * Press the "Play" button (bottom right) to see the [Day 1 - Project Goal](https://repl.it/@appbrewery/band-name-generator-end?embed=1&output=1#main.py) 7 | * [Optional - Create an account on Repl.it](https://repl.it/signup) 8 | * Fork Your Copy of the [Day 1 Starting Code](https://repl.it/@appbrewery/day-1-printing-start) 9 | * [Interactive Coding Exercise - Day 1.1 Printing](https://repl.it/@appbrewery/day-1-1-exercise) 10 | * [Interactive Coding Exercise - Day 1.2 Debugging](https://repl.it/@appbrewery/day-1-2-exercise) 11 | * [Interactive Coding Exercise - Day 1.3 Inputs](https://repl.it/@appbrewery/day-1-3-exercise) 12 | * [Day 1 Ending Code](https://repl.it/@appbrewery/day-1-printing-end) 13 | * Step through Execution with the [Thonny IDE](https://thonny.org/) 14 | * Alternative: Step through Execution with [Python Tutor](http://pythontutor.com/) 15 | * [Python Variables Start](https://repl.it/@appbrewery/day-1-variables-start) 16 | * [Interactive Coding Exercise - Day 1.4 Variables](https://repl.it/@appbrewery/day-1-4-exercise) 17 | * [Python Variables End](https://repl.it/@appbrewery/day-1-variables-end) 18 | * [Band Name Generator Start](https://repl.it/@appbrewery/band-name-generator-start) 19 | * [Band Name Generator Completed Code](https://repl.it/@appbrewery/band-name-generator-end) 20 | 21 | ## Day 2 - Understanding Data Types and How to Manipulate Strings 22 | 23 | * Press the "Play" button (bottom right) to see the [Day 2 - Project Goal](https://repl.it/@appbrewery/tip-calculator-end?embed=1&output=1#main.py) 24 | * Fork Your Copy of the [Day 2 Starting Code](https://repl.it/@appbrewery/day-2-start) 25 | * [Interactive Coding Exercise - Day 2.1 Data Types](https://repl.it/@appbrewery/day-2-1-exercise) 26 | * [Interactive Coding Exercise - Day 2.2 BMI Calculator](https://repl.it/@appbrewery/day-2-2-exercise) 27 | * [Interactive Coding Exercise - Day 2.3 Life in Weeks](https://repl.it/@appbrewery/day-2-3-exercise) 28 | * [BMI Explanation](https://en.wikipedia.org/wiki/Body_mass_index) 29 | * [Tim Urban's Life in Weeks](https://waitbutwhy.com/2014/05/life-weeks.html) 30 | * [Tip Calculator Start](https://repl.it/@appbrewery/tip-calculator-start) 31 | * [Further reading on Floating Point numbers](https://docs.python.org/2/tutorial/floatingpoint.html) 32 | * [Tip Calculator Completed Code](https://repl.it/@appbrewery/tip-calculator-end) 33 | 34 | ## Day 3 - Control Flow and Logical Operators 35 | 36 | * Press the "Play" button (bottom right) to see the [Day 3 - Project Goal](https://repl.it/@appbrewery/treasure-island-end?embed=1&output=1#main.py) 37 | * [Rollercoaster Ticketing Flow Chart Version 1 - if else statements](https://www.draw.io/?lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Rollercoaster%201#R1VfbcpswEP0apk%2FJAAJfHmM7aR%2FSjlt3ps2jYm1ArUCukC%2Fk67sywqDgJM7Eub0w6Ggl7Z49uwKPjLPNZ0UX6VfJQHihzzYemXhhOIhCfBqgrICIkApIFGcVFDTAjN%2BCBX2LLjmDwjHUUgrNFy44l3kOc%2B1gVCm5ds1upHBPXdAEOsBsTkUX%2FcWZTm1YYb%2FBvwBP0vrkoDesZjJaG9tIipQyuW5B5NwjYyWlrt6yzRiE4a7mpVp3cc%2FszjEFuT5kwTQf3Pz8rmYwjVc%2FVmxzyf%2FJExtGocs6YGAYvx1KpVOZyJyK8wYdKbnMGZhdfRw1NpdSLhAMEPwDWpc2mXSpJUKpzoSdRYdV%2BdusP%2B2RsAauEDjxT%2F1%2BXCOTjT2jGpXt0RQUz0CDsmAVh3H%2BXnosVMilmsMDnNQyoyoB%2FYBdvEsiih8keqNKXKdAUM1Xrh%2FUyjDZ2dmlZ0rRsmWwkDzXRWvnqQHQwBYUIbagbD0FcdzOOr5UO9ajlmsNtFXGE1QyfGOVREHUVon%2FQQQSHUMgHQUEkSuAoe%2FuULllFzXKeKrQer3X15nlYkXF0rJje6tpbT2aoXBGid4m0w%2Bw52ceuehIU6Uyu15ilKN1yjXMFnSbzDVeT67A7GGgNGwe1kQ3h%2FWCoO%2ByVF9b6%2BauCHoWS1v3xN2ktdPe4vjpFJK3KNUj1lZ4YG3dk5eDa%2BtZJIcdnc7QYd2V4o7Y4HE53nAhxlJItV1LWAwDZtpeoZX8C62ZQXhNsDqPI2DiCjjco99wj36jl9Jv1KF2TPNPpgPg5yE8j%2BEj8EV8l6499T7ovyJd8T663gtZYb%2F%2Fvtiqz2%2FR9U12aMKAtcsFFTzJ8X2OgZsPipGhheNPwpmdyDhjVSuFgt%2FS6%2B1WppnaWxb3jUdePDF7YfcsqkZ6JJoHd%2B4gMuywTPaUcPhiLHev8SsoPjzN%2BC%2F7KM%2FRcXjGYfNfWH1cNT%2FX5Pw%2F) 38 | * Fork Your Copy of the [Day 3 Starting Code](https://repl.it/@appbrewery/day-3-start) 39 | * [Interactive Coding Exercise - Day 3.1 Odd or Even](https://repl.it/@appbrewery/day-3-1-exercise) 40 | * [Interactive Coding Exercise - Day 3.2 BMI Calculator 2.0](https://repl.it/@appbrewery/day-3-2-exercise) 41 | * [Interactive Coding Exercise - Day 3.3 Leap Year](https://repl.it/@appbrewery/day-3-3-exercise) 42 | * [Interactive Coding Exercise - Day 3.4 Pizza Order](https://repl.it/@appbrewery/day-3-4-exercise) 43 | * [Interactive Coding Exercise - Day 3.5 Love Calculator](https://repl.it/@appbrewery/day-3-5-exercise) 44 | * [More info on the % Modulus](https://python-reference.readthedocs.io/en/latest/docs/operators/modulus.html) 45 | * [Rollercoaster Ticketing Flow Chart Version 2 - Nested if-else statements](https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Rollercoaster%202#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1J7_rw1flGeF0hmc_zrMzPX7t6xkbcsiX%26export%3Ddownload) 46 | * [Rollercoaster Ticketing Flow Chart Version 3 - if-elif-else statements](https://www.draw.io/?lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Rollercoaster%202#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1XaUDMIKOxCUzJbsuZevgHZmgKr7rICbI%26export%3Ddownload) 47 | * [Nested if and elif End](https://repl.it/@appbrewery/day-3-nested-if-and-elif) 48 | * [For the more curious - how leap years work](https://www.youtube.com/watch?v=xX96xng7sAE) 49 | * [Leap Year Flow Chart](https://www.draw.io/?lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Leap%20Algorithm#R7VpNc9owEP01HNuxJdmYY4CkzTTNdEpmmhyFrdhqhcXIIkB%2BfSUsY4wcQhqwC%2B0p0urDu29Xu08KHTiYLD4JPE2%2B8oiwDnCiRQcOOwC4CPjqj5Ysc0k3gLkgFjQyk0rBiD4TI3SMdEYjklUmSs6ZpNOqMORpSkJZkWEh%2BLw67ZGz6lenOCaWYBRiZkt/0EgmuTQA3VL%2BmdA4Kb7s%2Br18ZIKLycaSLMERn2%2BI4GUHDgTnMm9NFgPCNHgFLvm6qxdG14oJksp9FoDbYTJlQFxPomj0Jbzr4tT9YJTN5LIwmETKftPlQiY85ilml6W0L/gsjYje1VG9cs4N51MldJXwJ5FyaZyJZ5IrUSInzIwqhcXyXq//6BXdB7PdqjNcVHpL08t11Qq%2BCIERZXwmQrLD7iKUsIiJ3DEPrB2lIpzwCVH6qHWCMCzpU1UPbEItXs8rvaEaxiFvcI7Z9wmzmfnS6O7i%2B53lstIhGt15QiUZTfHK/rk6lVXwzZ5ESLLYDaNttlkAYE85brVoWZxWE%2BTz8oy4xRFONs4Hco6ElfePBjLYM5DhOwN5tfRCCLzcmDDlNJXZxs7ftKAMFLcLtgKlyOulq/M9S8evlfvzWPD/x8LOWHCdQwSD5W3kdre97W8d91w1s64Mg7fGFQLWl5qIK2Dl4%2BtMr9GahYzglGkjOsBnCv3%2BWKhWrFsRfaIZHas4A85YT0EdeGVn8YRPxrOsmQxe8Jcif3dr8jf07PwdHCt/QwvbW65xvSHK/HcVvEfK2IAzLlZr4WMQkjBU8kwK/otsjIwDD3nOYQB23SrA65PQWoHs1gBsAasMllX0MKNxqtqhMpwooPoaFqr48YUZmNAoyjMoyegzHq%2B20iiaQ6z29fodb6j3Ukkzy/PngeLYDSwm0rOBhjU4g2PhHFg4P5Ds5IGG/j5AoyaBdmErZX5B5X1RyFX7oaz4qlfWeN0pSvxfQA2KVPM6N2j3xhO06VP3XH2KWvWpcyjapG%2BZLRMn6IPX63pdvTkacXJtVnpwzhR5JIhQHWcKwBj6/oFIqVfFFtaR0kY5E2jnVeFESwzaMx2BVtMRaOd14ERLzL4%2BdXutlhh0qBKD2i8xyNum2rWJsI5rH6/I9M6lyHi9bXRRzUWm4TJjM6RzuDOi3hZXClq%2BMRYmnNcbCHS3I7oO6EbfQIDNSc8AaGQBDdt%2BbAL2s%2Bk5ZA47Sdch3WzusCnGST9QQ9RkHVTd8ocO%2Bb9jyp%2BLwMvf) 50 | * [Rollercoaster Ticketing Flow Chart Version 4 - Multiple if statements](https://www.draw.io/?lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Rollercoaster%204#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1aoRTeFOb2SJO7ofMnhTCneCEboHowF2A%26export%3Ddownload) 51 | * [Multiple if statements End](https://repl.it/@appbrewery/day-3-multiple-if) 52 | * [Rollercoaster Ticketing Flow Chart Version 5 - with Midlife Crisis](https://www.draw.io/?lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Rollercoaster%205#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1xVQ6ByTd0tmfRGZzWccf2REyI7zahDp0%26export%3Ddownload) 53 | * [Treasure Island Starting Code](https://repl.it/@appbrewery/treasure-island-start) 54 | * [Treasure Island Flow Chart](https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Treasure%20Island%20Conditional.drawio#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1oDe4ehjWZipYRsVfeAx2HyB7LCQ8_Fvi%26export%3Ddownload) 55 | * [Add your own ASCII art](https://ascii.co.uk/art) 56 | * [Treasure Island Completed Code](https://repl.it/@appbrewery/treasure-island-end) 57 | 58 | ## Day 4 - Randomisation and Python Lists 59 | 60 | * Press the "Play" button (bottom right) to see the [Day 4 - Project Goal](https://repl.it/@appbrewery/rock-paper-scissors-end?embed=1&output=1#main.py) 61 | * [The Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) 62 | * [Random vs Pseudorandom Numbers](https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/random-vs-pseudorandom-number-generators) 63 | * Fork Your Copy of the [Day 4 Starting Code](https://repl.it/@appbrewery/day-4-start) 64 | * [Interactive Coding Exercise - Day 4.1 Heads or Tails](https://repl.it/@appbrewery/day-4-1-exercise) 65 | * [Interactive Coding Exercise - Day 4.2 Who's Paying](https://repl.it/@appbrewery/day-4-2-exercise) 66 | * [Interactive Coding Exercise - Day 4.3 Treasure Map](https://repl.it/@appbrewery/day-4-3-exercise) 67 | * [AskPython's Documentation on Random](https://www.askpython.com/python-modules/python-random-module-generate-random-numbers-sequences) 68 | * [Mouse Pointer Random Generator](http://www.russellcottrell.com/mousePointerRNG.htm) 69 | * [Iowa Lottery Fraud Mystery](https://www.nytimes.com/interactive/2018/05/03/magazine/money-issue-iowa-lottery-fraud-mystery.html) 70 | * [Python List Documentation](https://docs.python.org/3/tutorial/datastructures.html) 71 | * [Things that lists can do in Python](https://docs.python.org/3/tutorial/datastructures.html) 72 | * [Using Split to convert a String to a List](https://www.askpython.com/python/string/python-convert-string-to-list) 73 | * [Documentation on random.choice()](https://www.askpython.com/python-modules/python-random-module-generate-random-numbers-sequences) 74 | * [List of States and Veg](https://repl.it/@appbrewery/day-4-list-practice) 75 | * [Dirty Dozen List of Foods](https://www.delish.com/food-news/a26872638/dirty-dozen-foods-list-2019/) 76 | * [The World Rock Paper Scissors Association](https://www.wrpsa.com/) 77 | * [Rock Paper Scissors Starter Code](https://repl.it/@appbrewery/rock-paper-scissors-start) 78 | * [Rock Paper Scissors Completed Code](https://repl.it/@appbrewery/rock-paper-scissors-end) 79 | 80 | ## Day 5 - Python Loops 81 | 82 | * Press the "Play" button (bottom right) to see the [Day 5 - Project Goal](https://repl.it/@appbrewery/password-generator-end?embed=1&output=1#main.py) 83 | * [Have I been pwned?](https://haveibeenpwned.com/) 84 | * Fork Your Copy of the [Day 5 Starting Code](https://repl.it/@appbrewery/day-5-start) 85 | * [Interactive Coding Exercise - Day 5.1 Average Height](https://repl.it/@appbrewery/day-5-1-exercise) 86 | * [Interactive Coding Exercise - Day 5.2 Highest Score](https://repl.it/@appbrewery/day-5-2-exercise) 87 | * [Interactive Coding Exercise - Day 5.3 Adding Evens](https://repl.it/@appbrewery/day-5-3-exercise) 88 | * [Interactive Coding Exercise - Day 5.4 FizzBuzz](https://repl.it/@appbrewery/day-5-4-exercise) 89 | * [For loop Lesson End](https://repl.it/@appbrewery/day-5-for-loops-end) 90 | * [Day 5 Ending Code](https://repl.it/@appbrewery/day-5-end) 91 | * [Password Generator Start](https://repl.it/@appbrewery/password-generator-start) 92 | * [Password Generator Completed Code](https://repl.it/@appbrewery/password-generator-end) 93 | 94 | ## Day 6 - Python Functions & Karel 95 | 96 | * [Built-in Python Functions](https://docs.python.org/3/library/functions.html) 97 | * Fork Your Copy of the [Day 6 Starting Code](https://repl.it/@appbrewery/day-6-start) 98 | * [Reeborgs World Start](https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Alone&url=worlds%2Ftutorial_en%2Falone.json) 99 | * [Reeborgs World Hurdles Challenge](https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%201&url=worlds%2Ftutorial_en%2Fhurdle1.json) 100 | * [PEP 8 - The Python Style Guide](https://www.python.org/dev/peps/pep-0008/) 101 | 102 | ## Day 7 - Hangman 103 | 104 | * Press the "Play" button (bottom right) to see the [Day 7 - Project Goal](https://repl.it/@appbrewery/Day-7-Hangman-Final?embed=1&output=1#main.py) 105 | * [How the Hangman Game works](https://en.wikipedia.org/wiki/Hangman_(game)) 106 | * [Play Hangman with Friends Online](https://hangmanwordgame.com/?fca=1&success=0#/) 107 | * [Hangman Program Flow Chart](https://app.diagrams.net/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1#R7Vpbd9o4EP41PKbH95hHIGnabrcnLdlN%2B7RHwYqtIFtEFhf316%2BEJV8VIMEE0pMXjjUa6zLffDMjmZ49ildXFMyiv0kAcc8yglXPvuhZVt%2Fx%2BK8QZLnA9fq5IKQoyEVmKRij31AKDSmdowCmNUVGCGZoVhdOSJLACavJAKVkWVe7J7g%2B6wyEsCUYTwBuS29RwKJc6lvnpfwTRGGkZjbV%2FmKglOVO0ggEZFkR2Zc9e0QJYflTvBpBLGyn7HL7ObvFX6fe1Zfv6SP4Z%2FjXzbd%2Fz%2FLBPj7nlWILFCbsxUNDK4k98LCYXrPFYhymQ3OVqaEXAM%2BlveReWaYMCANuT9kklEUkJAnAl6V0SMk8CaCYxuCtUucrITMuNLnwATKWSecAc0a4KGIxlr077k8uNiVzOoEb9GzpZoCGkG3YvMRVbLDiK9J6V5DEkNGMK1CIAUOLukMB6ZdhoVfanj9I8z8DZbsFxfhm8OOmhUdpbWG6ZYQYHM%2FA2iBLzuC6Ze9JwqTZTb61YYhBmkqgUkbJtCCF0C483Hg2KAtIGVxtNKPq9aTdZUDxZXNZstNUlIsqzHSM%2FQ2vdYO24d8WBzb59lYOWMfiwKZVV6C4ggmkgEExm1gGSAISC28hNPjjqVG0j8YN9yS4wc1Ms5%2Fi%2FQ%2Buav6Sw60bF6taK3sRTls5Ze3IKa9rTslXrwni%2Byi8pShMpLfYXsML8oXKtxqOUCzj5b5htXxjkE6FfSLB1nkK6brWW9eAkFMrZzDmSIueP5y6BSVfg7rj70v%2FAT3C0bfho%2FMZ3N27%2Fn9n%2FZOgrpYKHXLSa3NSaw3%2FmGnNa0ExiuBEcAWEACWpIDUEk6gnHMTDfB%2FDO04RLxRPijAGSgpy5dmvqdkmVUTiu3m6nVAHY4XbCFGWhhWOhhX%2BoVhh2kdJYCvEfqoUxZ9%2FlbmMt8rsJRr15NUJc55mxA7MMQ09xJ1TRz%2B7c0y8zGfgVS1S%2FH6tTPlg2PaWUmXduoYUcbNxtp%2BYC7zWoWDTKivR84JAUU4gll%2FT8MBpf9w3%2BLWC2q523jn4Ofaxg5%2BjKQnyJCIqqpr5vMc5UR1n6ZonA65gG7NV2akSD6DBAtCpGoyvLR%2FvibTE7czqEORF24hgIlw%2FIYlg8T3CuCECGIUJb044LoIlQ4EamgA8kB0xCoJ1CNBhXg8Lh4LdaR7iztuw61C3DoV6u%2FroCPV3vHV4W%2B6R8Ta9t1LilCmzni6LQ%2F7Gc%2F3h8qL6drHbSb%2Fzg32RFFTV7O52sB9QCrKK2kwopE%2FP03Bc13Gro21TV9cNpavm87%2F0jmEjEpXgdU3zVZUB6ceaVJX4tM%2FdwqHChN8wtqYY6GuihH2wKOG%2BucLaPLEooT5nHjpK7Idz%2BxNfm0G3lCThqTPIOj81CrVPJt1UVlQGtMb9zlKitJe4k7HfKz9d5eccvfLT3fl2WupX%2FKgt0lxJLtqi3caavjud3ulc%2F9WcjjfLf7fkFV35FyH78n8%3D) 108 | * [Challenge 1 Starting Code](https://repl.it/@appbrewery/Day-7-Hangman-1-Start) 109 | * [Challenge 1 Target Behaviour](https://repl.it/@appbrewery/Day-7-Hangman-1-End?embed=1&output=1#main.py) 110 | * [Hint - Python List Documentation](https://developers.google.com/edu/python/lists#for-and-in) 111 | * [Challenge 1 Completed Code](https://repl.it/@appbrewery/Day-7-Hangman-1-End) 112 | * [Challenge 2 Starting Code](https://repl.it/@appbrewery/Day-7-Hangman-2-Start) 113 | * [Challenge 2 Target Behaviour](https://repl.it/@appbrewery/Day-7-Hangman-2-End?embed=1&output=1#main.py) 114 | * [Hint - Python Lists and Range()](https://developers.google.com/edu/python/lists#range) 115 | * [Challenge 2 Completed Code](https://repl.it/@appbrewery/Day-7-Hangman-2-End) 116 | * [Challenge 3 Starting Code](https://repl.it/@appbrewery/Day-7-Hangman-3-Start) 117 | * [Challenge 3 Target Behaviour](https://repl.it/@appbrewery/Day-7-Hangman-3-End?embed=1&output=1#main.py) 118 | * [Challenge 3 Completed Code](https://repl.it/@appbrewery/Day-7-Hangman-3-End) 119 | * [Challenge 4 Starting Code](https://repl.it/@appbrewery/Day-7-Hangman-4-Start) 120 | * [Challenge 4 Target Behaviour](https://repl.it/@appbrewery/Day-7-Hangman-4-End?embed=1&output=1#main.py) 121 | * [Flow Chart for Hangman](https://app.diagrams.net/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Step%205#R7VtdW6M4FP41ffZqfcpn62XrOOqszjrq6nq1TywpMALphrS28%2Bs3gYSPBBUtFLR7VXJIgJw35z0fSQfGUbg%2BwWDhXSAHBgN96KwHxpeBrmtDbUh%2FmGSTSiz7MBW42Hd4p1xw7f%2BCYiSXLn0HxqWOBKGA%2BIuycIaiCM5ISQYwRk%2FlbnMUlN%2B6AC5UBNczEKjSO98hXiod66Ncfgp91xNv1sT8QiA685nEHnDQU0FkHA%2BMI4wQSa%2FC9REMmPKEXu7ONnfB%2BaN98u1H%2FC%2F4a%2FrHzffb39OHfX3LkGwKGEbk3Y%2BGehTa4Ofq8ZKsVtduPNXWG%2FHoFQiWXF98rmQjFAgdqk%2FeRJh4yEURCI5z6RSjZeRA9pohbeV9zhFaUKFGhT8hIRu%2BOMCSICrySBjwuzXnxz82Rks8gy%2F0M%2FgyA9iF5IXJc1zZBAtrhWvvBKIQEryhHTAMAPFX5QUF%2BLp0s3657ukFV%2F8bUDYUKK5vJlc3Ch65tpnqnjyfwOsFSBTyRE24rNk5ighXu0anNnUDEMccqJhg9JgZBeudrfDhm0FZQUzg%2BkU1irs21zsnFIM3n3Lr1ITJeQXLNIfbK75yGaiK%2F1g28NLaftUG9K5soJqO9hoLrTMwfujfkHexml4g78dkeTY2rm7X2fR2qnq49snfbPiBxVv3hTtf1vzJSWMjGhGdbmEQa94X7%2BXDkpYYV6ntdnGvVPRwS5T50Evk08%2FOeDaLWzjPaiOJQNPv4qOktZJ9xvtteaiY8gmMIAYEsm9g8wORg0LG%2FAg7LLTDScsDkRuC6B8mjQ8Wm84c4NwPgiMUIJy81nAAHM9n2bDCHXs2hg%2FzHbpMTevaZwqqegbdOImfIzaFhwBEj7EQBtT4IWZXfpQh%2F9kCHKuMVoZCES1zl2hZvfCq29F0Y6ys1%2FTGdtPOuB5Nm0ZrNF3pfIyP4uXb9tb6TuA17N16YZWnJ%2FEjW%2F4eI%2BplDHFSkEkKNTCOuWtOafrzMbOcenbuR8f%2FM7PCuK8y82E3zGxZ9Ux3gjHYFLotWIf4%2BfdosgewhtK6Sp%2FYKC9o4y55Xyuwfu4D2sjudr44tVHTq3MrgrEVgjmLM%2FpPKB%2By3Gug2wGd1fSBkr7tsivhAtJAPe2fhOvGV9UveCh8WMav%2B4TWiF0Kuc0qYq8KucdtEbtufZS4qif2dVjTvnSzV%2FZ1qNjXFVwEbP0Lo0kS4GQp0pUohE0EWG0ZkxQkWXWDJDlxaa7YoOav9zBWlEenR8oaKldqIhRBqazDRSDw3Yg2Z1STFBVjypTlz0Aw4TdC33ESC62CpGy1baEylhjOVlGpIji9NYLbk%2FJwYwQnAoPXGa6zfcnKAoG9Hzi3V1ioAr5S02aXjkx8ZYFkz1EsavWBP08uIxYsLnCav%2FBK%2FUAp3QNMti%2Fc96b6LjtE87CmQ5TzxeawUqOO72jP%2FKEhZ82dO8QPU0ntiUMUSLzuEPVehfxGNzW6bUonWgnmHPW%2BAd0rnMVnF1j2FKx4Ypd8xjKqLJ2gJfOOaJ74zRU7%2FNjDkokulUzs7ksm6l7FyeTimEr%2BvD2%2B2i6aaEuL8o7CqGqvd6c7Cnqnhd23b%2Bg1xzKNF4bqbQuMZChb3tEzuk283%2BN%2BskY37sf8mO7HVOhwgpMkLBmb1BFtEDKiix7iRaI32RNlh29YkA%2F7WbuXy42jmgzanh9Ss6v9KzfKm5J21%2BmVoUZj%2B4eKXAUeDbtGRT2wvX%2BViHHfTEX1HHsHiilhou8Ok%2BfPeJcgueRV1NOsihrQmGzQq2Kqou%2B6UNVOmLRxTXffxO5iJTJq1nkD8whLHJHz5zzv%2F22VxmAYAofNKz9DQTzA8Gzk7Fx%2F8DKtEl5GBbllpy92gpdKblV4lbfZRcVm5qVbGj6LiSPE4JKOtxx8FuBkBrSqgLOrgLPeDBxt5n%2BDTfPc%2FM%2FExvF%2F) 122 | * [Challenge 4 Completed Code](https://repl.it/@appbrewery/Day-7-Hangman-4-End) 123 | * [Challenge 5 Starting Code](https://repl.it/@appbrewery/Day-7-Hangman-5-Start) 124 | * [Challenge 5 Target Behaviour](https://repl.it/@appbrewery/Day-7-Hangman-5-End?embed=1&output=1#main.py) 125 | * [Hint - Importing Modules](https://www.askpython.com/python/python-import-statement) 126 | * [Challenge 5 Completed Code](https://repl.it/@appbrewery/Day-7-Hangman-5-End) 127 | * [Final Code](https://repl.it/@appbrewery/Day-7-Hangman-Final) 128 | 129 | ## Day 8 - Function Parameters & Caesar Cipher 130 | 131 | * Press the "Play" button (bottom right) to see the [Day 8 - Project Goal](https://repl.it/@appbrewery/caesar-cipher-completed?embed=1&output=1#main.py) 132 | * Fork Your Copy of the [Day 8 Starting Code](https://repl.it/@appbrewery/day-8-start) 133 | * [Interactive Coding Exercise - Day 8.1 Area Calculation](https://repl.it/@appbrewery/day-8-1-exercise) 134 | * [Interactive Coding Exercise - Day 8.2 Prime Number Checker](https://repl.it/@appbrewery/day-8-2-exercise) 135 | * [Primer on Prime Numbers](https://en.wikipedia.org/wiki/Prime_number) 136 | * [Day 8 - Ending Code](https://repl.it/@appbrewery/day-8-end) 137 | * [Caesar Cipher 1 Start](https://repl.it/@appbrewery/caesar-cipher-1-start) 138 | * [Python List index() Method](https://www.w3schools.com/python/ref_list_index.asp) 139 | * [Caesar Cipher 1 End](https://repl.it/@appbrewery/caesar-cipher-1-end) 140 | * [Caesar Cipher 2 Start](https://repl.it/@appbrewery/caesar-cipher-2-start) 141 | * [Caesar Cipher 2 End](https://repl.it/@appbrewery/caesar-cipher-2-end) 142 | * [Caesar Cipher 3 Start](https://repl.it/@appbrewery/caesar-cipher-3-start) 143 | * [Caesar Cipher 3 End](https://repl.it/@appbrewery/caesar-cipher-3-end) 144 | * [Caesar Cipher 4 Start](https://repl.it/@appbrewery/caesar-cipher-4-start) 145 | * [Caesar Cipher 4 End](https://repl.it/@appbrewery/caesar-cipher-4-end) 146 | 147 | ## Day 9 - Dictionaries, Nesting and the Secret Auction 148 | 149 | * Press the "Play" button (bottom right) to see the [Day 9 - Project Goal](https://repl.it/@appbrewery/blind-auction-completed?embed=1&output=1#main.py) 150 | * Fork Your Copy of the [Day 9 Starting Code](https://repl.it/@appbrewery/day-9-start) 151 | * [Interactive Coding Exercise - Day 9.1 Grading Program](https://repl.it/@appbrewery/day-9-1-exercise) 152 | * [Interactive Coding Exercise - Day 9.2 Dictionary in List](https://repl.it/@appbrewery/day-9-2-exercise) 153 | * [Day 9 Ending Code](https://repl.it/@appbrewery/day-9-end) 154 | * [Secret Auction Starting Code](https://repl.it/@appbrewery/blind-auction-start) 155 | * [Hint - Flowchart of Secret Auction](https://app.diagrams.net/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Blind%20Auction%20Flow%20Chart#R3VnbcpswEP0aPzYDCLB5tHNrZ9pMpu6kzaMMilEDiBHyLV%2FfFYirHMdp7JD4JUGrXV3Ont2V5AE6j9fXHKfhDxaQaGAZwXqALgaWZRqmAf%2BkZFNIHM8qBHNOA6VUC6b0iZSWSrqgAclaioKxSNC0LfRZkhBftGSYc7Zqqz2wqD1riudEE0x9HOnS3zQQoZK6jl13fCV0HpZTm65X9MS41FZbyUIcsFVDhC4H6JwzJoqveH1OIoleCUxhd%2FVMb7UyThKxj8Hs4R5fx%2BMlu%2F52dxPepdM7H31BxShLHC3UjtVixaaEgASAiGoyLkI2ZwmOLmvphLNFEhA5jQGtWuc7YykITRD%2BJUJslHvxQjAQhSKOVG8xp5zo2b0pUcYW3Cc7NlSSBPM5ETv0rMoDwF3CYiL4Buw4ibCgy%2FY6sCLRvNKrYYYPhfQrUDc11Ke%2Fxj9%2FadDXwEqUViEVZJrifP8riLdtIC4JF2S9G0Z928rAHimuqmi1VXNVU99TorBBemQcCSfn1Nhp7clOu092Wjo7Q0hclhEBcDKJchbn6VWcpZsPx1mvZ84OT42z9p6cdfvkrK2hPs4e84LP4e8NjokcIUkXon%2FCOk6LsKajM9a0t1DWPhZlvVOjrLsnZUd9UtbdSdkJ2FrGLaew0Y%2FG2OpI2xtjTf0E9ckp%2B1YqKtNbRmHmynOO1fYcGnU8UoSIsuo4pVrG%2F%2FtppHM8COqEjJOgojqsQB4usLwsUl9QcESOAKwUIjmU6o9kUxnlQ54NLBfHkvDJLEsrh%2FQZKmh41gmWLQcSc%2BjoweIcLVhGfcQGWVPxR5nL7%2FuG%2FGLd6LjYlI0EdpubAISqed%2Fsq83yVml3wCg00Z6VwxweIl7HnONNQyGVcZg9H872yGxxy%2B5e%2BTv6yHN26cNHsYKDxnwFdi90Mxt0Uzw6CcI1noz6eLDQ34mKwwp9KLIzz9N5%2FpfJ5kCu141gR5MZNNy5%2FFpkhMtsvgplpl%2FhnKp51p%2FJEtBN3SGLZ4usp7RdVcqX0na3oh4Oc%2F2AeE8yDSbYtGjjgSM6T%2BDbh82DJ9BEQkN9HI1VR0yDoIg6ktEnPMuHksRW%2BQfGdSYD50KOBYGWFTF3IKiRZ7dzkmFrQG87S1pHw9nrtTxWOeo1BbKVrerk9Q75arhnvnrrC9b2gmZ1HnvQcL%2Fz7GsLbbdwOvbuQttd12v1zeE7FGZTf5o6jwjm1fk68zkhiZ6I3%2FkMjZzOK%2FSWVLztSe9ot80y9TSAu6L5LaTALYQ1kEyUdQyuMlVX%2ByqT2wTEj4pKCSpx%2B4azokkii2fPHnCGL3vA9LYUQ%2FdoLrA0F9ywT18LXdTB2dBxRoephdCsf2osMkr9iy26%2FAc%3D) 156 | * [Python Tutor](http://www.pythontutor.com/) 157 | * [Secret Auction Completed Code](https://repl.it/@appbrewery/blind-auction-completed) 158 | 159 | ## Day 10 - Function Return Values and the Calculator Project 160 | 161 | * Press the "Play" button (bottom right) to see the [Day 10 - Project Goal](https://repl.it/@appbrewery/calculator-final?embed=1&output=1#main.py) 162 | * Fork Your Copy of the [Day 10 Starting Code](https://repl.it/@appbrewery/day-10-start) 163 | * [Interactive Coding Exercise - Day 10.1 Days in Month](https://repl.it/@appbrewery/day-10-1-exercise) 164 | * [How to Convert Strings to Title Case](https://stackoverflow.com/questions/8347048/how-to-convert-string-to-title-case-in-python) 165 | * [Day 10 Ending Code](https://repl.it/@appbrewery/day-10-end) 166 | * [Calculator Starting Code](https://repl.it/@appbrewery/calculator-start) 167 | * [Calculator Completed Code](https://repl.it/@appbrewery/calculator-final) 168 | 169 | ## Day 11 - Blackjack Capstone Project 170 | 171 | * Press the "Play" button (bottom right) to see the [Day 11 - Project Goal](https://repl.it/@appbrewery/blackjack-final?embed=1&output=1#main.py) 172 | * [Try out an online Blackjack game](https://games.washingtonpost.com/games/blackjack/) 173 | * Fork Your Copy of the [Blackjack Starting Code](https://repl.it/@appbrewery/blackjack-start) 174 | * [Python sum() Function](https://docs.python.org/3/library/functions.html#sum) 175 | * [Python list methods](https://developers.google.com/edu/python/lists#list-methods) 176 | * [Blackjack Completed Code](https://repl.it/@appbrewery/blackjack-final) 177 | 178 | ## Day 12 - Scope and Namespacing in Python 179 | 180 | * Press the "Play" button (bottom right) to see the [Day 12 - Project Goal](https://repl.it/@appbrewery/guess-the-number-final?embed=1&output=1#main.py) 181 | * Fork Your Copy of the [Day 12 Starting Code](https://repl.it/@appbrewery/day-12-start) 182 | * [Day 12 Ending Code](https://repl.it/@appbrewery/day-12-end) 183 | * [Get your own ASCII Text from Patorjk](http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20) 184 | * [Guess the Number Completed Code](https://repl.it/@appbrewery/guess-the-number-final) 185 | * [Using Python Tutor to Step Through your Code](http://www.pythontutor.com/visualize.html#mode=edit) 186 | 187 | ## Day 13 - Debugging: How to Find and Fix Errors in your Code 188 | 189 | * Fork Your Copy of the [Day 13 Starting Code](https://repl.it/@appbrewery/day-13-start) 190 | * [Interactive Coding Exercise - Day 13.1 Debug Odd Even](https://repl.it/@appbrewery/day-13-1-exercise) 191 | * [Interactive Coding Exercise - Day 13.2 Debug Leap Year](https://repl.it/@appbrewery/day-13-2-exercise) 192 | * [Interactive Coding Exercise - Day 13.3 Debug FizzBuzz](https://repl.it/@appbrewery/day-13-3-exercise) 193 | * [Day 13 Ending Code](https://repl.it/@appbrewery/day-13-end) 194 | * [Debug your code online with Python Tutor](http://www.pythontutor.com/visualize.html#mode=edit) 195 | * [Search Stack Overflow for Errors](https://stackoverflow.com/questions/tagged/python) 196 | 197 | ## Day 14 - Higher Lower Game Project 198 | 199 | * Press the "Play" button (bottom right) to see the [Day 14 - Project Goal](https://repl.it/@appbrewery/higher-lower-final?embed=1&output=1#main.py) 200 | * Fork Your Copy of the [Day 14 Starting Code](https://repl.it/@appbrewery/higher-lower-start) 201 | * [Try out the Online Higher Lower Game](http://www.higherlowergame.com/) 202 | * [Day 14 Ending Code](https://repl.it/@appbrewery/higher-lower-final) 203 | 204 | ## Day 15 - Local Development Environment Setup & the Coffee Machine Project 205 | 206 | * [Step 1: Install Python 3 on your Machine](https://www.python.org/downloads/) 207 | * [Step 2: Download & Install Pycharm](https://www.jetbrains.com/pycharm/download/) 208 | * [Python PEP8 Style Guide](https://www.python.org/dev/peps/pep-0008/) 209 | * Press the "Play" button (bottom right) to see the [Day 15 - Project Goal](https://repl.it/@appbrewery/coffee-machine-final?embed=1&output=1#main.py) 210 | * Download or Fork the [Day 15 Starting Code](https://repl.it/@appbrewery/coffee-machine-start) 211 | * [Coffee Machine Program Specifications PDF Download](https://drive.google.com/uc?export=download&id=1eIZt2TeFGVrk4nXkx8E_5Slw2coEcOUo) 212 | * [PyCharm Keyboard Shortcuts](https://www.jetbrains.com/help/pycharm/running-and-debugging-shortcuts.html?keymap=secondary_windows) 213 | * [Add a Coffee Emoji from Emojipedia.org](https://emojipedia.org/hot-beverage/) 214 | * [How to bring up the Emoji Keyboard on Windows 10](https://support.microsoft.com/en-gb/help/4534547/windows-10-keyboard-tips-and-tricks) 215 | * [How to bring up the Emoji Keyboard on Mac](https://support.apple.com/en-gb/guide/mac-help/mchlp1560/mac) 216 | * [Day 15 Ending Code](https://repl.it/@appbrewery/coffee-machine-final) 217 | 218 | ## Day 16 - Object Oriented Programming (OOP) 219 | 220 | * [Turtle Graphics Documentation](https://docs.python.org/3/library/turtle.html) 221 | * [Turtle Colours](https://cs111.wellesley.edu/labs/lab01/colors) 222 | * [Pokemon Pokedex](https://pokemondb.net/pokedex/game/x-y) 223 | * [Python Package Index](https://pypi.org/) 224 | * [PrettyTable Package](https://pypi.org/project/PrettyTable/) 225 | * [PrettyTable Package Documentation](https://code.google.com/archive/p/prettytable/wikis/Tutorial.wiki) 226 | * [Steve Jobs on Object Oriented Programming](https://www.rollingstone.com/culture/culture-news/steve-jobs-in-1994-the-rolling-stone-interview-231132/) 227 | * [OOP Coffee Machine Project Starting Code](https://repl.it/@appbrewery/oop-coffee-machine-start) 228 | * Download the .zip for the [OOP Coffee Machine Project Starting Code](https://repl.it/@appbrewery/oop-coffee-machine-start.zip) 229 | * [Coffee Machine Classes Documentation](https://docs.google.com/document/d/e/2PACX-1vTragRHILyj76AvVgpWeOlEaLBXoxPM_43SdEyffIKtOgarj42SoSAsK6LwLAdHQs2qFLGthRZds6ok/pub) 230 | * [Coffee Machine Project Requirements](https://drive.google.com/uc?export=download&id=1eIZt2TeFGVrk4nXkx8E_5Slw2coEcOUo) 231 | * [OOP Coffee Machine Project Final Code](https://repl.it/@appbrewery/oop-coffee-machine-final) 232 | 233 | ## Day 17 - The Quiz Project & the Benefits of OOP 234 | 235 | * Press the "Play" button (bottom right) to see the [Day 17 - Project Goal](https://repl.it/@appbrewery/quiz-game-final?embed=1&output=1#main.py) 236 | * Download or Fork the [Quiz Game Starting Code](https://repl.it/@appbrewery/quiz-game-start) 237 | * [Download .zip for Quiz Game Starting Code](https://repl.it/@appbrewery/quiz-game-start.zip) 238 | * [Open Trivia Database](https://opentdb.com/) 239 | * [Quiz Project Final Code](https://repl.it/@appbrewery/quiz-game-final) 240 | 241 | 242 | ## Day 18 - Turtle Graphics and GUIs 243 | 244 | * [Turtle Graphics Documentation](https://docs.python.org/3/library/turtle.html) 245 | * [Turtle Colours](https://cs111.wellesley.edu/labs/lab01/colors) 246 | * [Trinket Turtle Colours](https://trinket.io/docs/colors) 247 | * Challenge 1 - [Draw a Square - Starting Code](https://repl.it/@appbrewery/day-18-1-start) 248 | * [Solution to Challenge 1](https://repl.it/@appbrewery/day-18-1-end) 249 | * Challenge 2 - [Draw a Dashed Line - Starting Code](https://repl.it/@appbrewery/day-18-2-start) 250 | * [Solution to Challenge 2](https://repl.it/@appbrewery/day-18-2-end) 251 | * Challenge 3 - [Drawing Different Shapes - Starting Code](https://repl.it/@appbrewery/day-18-3-start) 252 | * [Solution to Challenge 3](https://repl.it/@appbrewery/day-18-3-end) 253 | * Challenge 4 - [Generate a Random Walk - Starting Code](https://repl.it/@appbrewery/day-18-4-start) 254 | * [Random Walk Wikipedia Page](https://en.wikipedia.org/wiki/Random_walk) 255 | * [Solution to Challenge 4](https://repl.it/@appbrewery/day-18-4-end) 256 | * [RGB Tool from W3Schools](https://www.w3schools.com/colors/colors_rgb.asp) 257 | * Challenge 5 - [Create a Spirograph - Starting Code](https://repl.it/@appbrewery/day-18-5-start) 258 | * [Solution to Challenge 5](https://repl.it/@appbrewery/day-18-5-end) 259 | * [Day 18 Ending Code](https://repl.it/@appbrewery/day-18-end) 260 | * [Colorgram Package](https://pypi.org/project/colorgram.py/) 261 | * [Hirst Painting Colour Extraction Code](https://repl.it/@appbrewery/hirst-painting-start.zip) 262 | * [Hirst Painting Project Final Code](https://repl.it/@appbrewery/hirstpainting-final) 263 | 264 | ## Day 19 - Instances, State and Higher Order Functions 265 | 266 | * [The listen() method](https://docs.python.org/3/library/turtle.html#turtle.listen) 267 | * Download the .zip for the [Etch-A-Sketch Challenge Starting Code](https://repl.it/@appbrewery/etch-a-sketch-start.zip) 268 | * [Solution to the Etch-A-Sketch Challenge](https://repl.it/@appbrewery/etch-a-sketch-final) 269 | * [Starting code for the Turtle Race](https://repl.it/@appbrewery/turtle-race-start.zip) 270 | * [Completed code for the Turtle Race](https://repl.it/@appbrewery/turtle-race-final.zip) 271 | 272 | ## Day 20 - Build the Snake Game Part 1: Animation & Coordinates 273 | 274 | * [The tracer() method](https://docs.python.org/3.3/library/turtle.html?highlight=turtle#turtle.tracer) 275 | * [Completed Code for Snake Part 1](https://repl.it/@angelabauer/snake-game-part-1-final.zip) 276 | 277 | ## Day 21 - Build the Snake Game Part 2: Inheritance & List Slicing 278 | 279 | * [Inheritance Repl.it Example Code](https://repl.it/@appbrewery/Class-Inheritance) 280 | * [The shape() and shapesize() methods](https://docs.python.org/3/library/turtle.html#turtle.shape) 281 | * [The write() method](https://docs.python.org/3/library/turtle.html#turtle.write) 282 | * [Piano Keys List Slicing Repl.it](https://repl.it/@appbrewery/slicing) 283 | * [Completed Code for Snake Part 2](https://repl.it/@appbrewery/snake-game-final.zip) 284 | 285 | ## Day 22 - Build Pong: The Famous Arcade Game 286 | 287 | * [Completed Code for the Pong Project](https://repl.it/@appbrewery/pong-game-final.zip) 288 | 289 | ## Day 23 - The Turtle Crossing Capstone Project 290 | 291 | * Download the .zip for the [Starting Code for the Turtle Crossing Game](https://repl.it/@appbrewery/turtle-crossing-start.zip) 292 | * [Solution Code to the Capstone Project](https://repl.it/@appbrewery/turtle-crossing-final.zip) 293 | 294 | ## Day 24 - Files, Directories and Paths 295 | 296 | * [Snake Project Code from Day 21](https://repl.it/@appbrewery/snake-game-final.zip) 297 | * [The open() method](https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files) 298 | * [Snake After Adding High Score Management](https://repl.it/@appbrewery/snake-game-high-score-final.zip) 299 | * [Day 24 Ending Code](https://repl.it/@appbrewery/day-24-end) 300 | * Download the [Mail Merge Project Starting Files](https://repl.it/@appbrewery/mail-merge-project-start.zip) 301 | * [Hint 1](https://www.w3schools.com/python/ref_file_readlines.asp) 302 | * [Hint 2](https://www.w3schools.com/python/ref_string_replace.asp) 303 | * [Hint 3](https://www.w3schools.com/python/ref_string_strip.asp) 304 | * [Mail Merge Project Completed Code](https://repl.it/@appbrewery/mail-merge-project-end.zip) 305 | 306 | ## Day 25 - Working with CSV Data and the Pandas Library 307 | 308 | * [Sample Weather Data as .csv](https://docs.google.com/spreadsheets/d/1Rs1CKjiagTeXa53212JkjRSDu-tx77_YxEgGdkv5zRY/edit?usp=sharing) 309 | * Download the [Weather Data Day 25 Starting Code](https://repl.it/@appbrewery/day-25-start#weather_data.csv) 310 | * [Pandas Documentation](https://pandas.pydata.org/docs/) 311 | * [Pandas API Reference](https://pandas.pydata.org/docs/reference/index.html) 312 | * [Central Park Squirrel Census Data](https://data.cityofnewyork.us/Environment/2018-Central-Park-Squirrel-Census-Squirrel-Data/vfnx-vebw) 313 | * [Day 25 End Code](https://repl.it/@appbrewery/day-25-end) 314 | * [Sporkle Name the States Game](https://www.sporcle.com/games/g/states) 315 | * Download .zip for the [U.S. States Game Starting Files](https://repl.it/@appbrewery/us-states-game-start.zip) 316 | * [U.S. States Game Completed Repl](https://repl.it/@appbrewery/us-states-game-end.zip) 317 | 318 | ## Day 26 - List Comprehension & the NATO Pilot's Alphabet 319 | 320 | * [Interactive Coding Exercise - Day 26.1 List Comprehension 1](https://repl.it/@appbrewery/day-26-1-exercise) 321 | * [Interactive Coding Exercise - Day 26.2 List Comprehension 2](https://repl.it/@appbrewery/day-26-2-exercise) 322 | * [Interactive Coding Exercise - Day 26.3 List Comprehension 3](https://repl.it/@appbrewery/day-26-3-exercise) 323 | * [Interactive Coding Exercise - Day 26.4 Dictionary Comprehension 1](https://repl.it/@appbrewery/day-26-4-exercise) 324 | * [Interactive Coding Exercise - Day 26.5 Dictionary Comprehension 2](https://repl.it/@appbrewery/day-26-5-exercise) 325 | * [Day 26 End Code](https://repl.it/@appbrewery/day-26-end) 326 | * Download .zip for the [NATO Alphabet Starting Files](https://repl.it/@appbrewery/NATO-alphabet-start.zip) 327 | * [NATO Alphabet Starting Code & TODOs](https://repl.it/@appbrewery/NATO-alphabet-start) 328 | * [Completed Code NATO Alphabet Project](https://repl.it/@appbrewery/NATO-alphabet-end.zip) 329 | 330 | ## Day 27 - Tkinter, *args, **kwargs and Creating GUI Programs 331 | 332 | * [Python Docs: The Packer](https://docs.python.org/3/library/tkinter.html#the-packer) 333 | * [TCL tk Docs: pack()](http://tcl.tk/man/tcl8.6/TkCmd/pack.htm) 334 | * [Playground.py Completed Code](https://repl.it/@appbrewery/day-27-playground) 335 | * [TCL tk Docs: Entry()](http://tcl.tk/man/tcl8.6/TkCmd/entry.htm) 336 | * [Tkinter Widget Example Code Palette](https://repl.it/@appbrewery/tkinter-widget-demo) 337 | * [Day 27 End Code](https://repl.it/@appbrewery/day-27-end) 338 | 339 | ## Day 28 - Tkinter, Dynamic Typing and the Pomodoro GUI Application 340 | 341 | * Download the .zip for the [Pomodoro Starting Files](https://repl.it/@appbrewery/pomodoro-start.zip) 342 | * [Use Color Hunt to Choose a Nice Colour](https://colorhunt.co/) 343 | * [TCL tk Docs: after()](http://tcl.tk/man/tcl8.6/TclCmd/after.htm) 344 | * [Python as a Strongly and Dynamically Typed Programming Language](https://stackoverflow.com/questions/11328920/is-python-strongly-typed) 345 | * [How to Make Tkinter window go to the front](https://stackoverflow.com/questions/1892339/how-to-make-a-tkinter-window-jump-to-the-front) 346 | * [Pomodoro Completed Project](https://repl.it/@appbrewery/pomodoro-end.zip) 347 | 348 | ## Day 29 - Building a Password Manager GUI App with Tkinter 349 | 350 | * Download the .zip for the [Password Manager Starting Files](https://repl.it/@appbrewery/password-manager-start.zip) 351 | * [Tkinter Canvas Widget Docs - create_image() method](https://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_image-method) 352 | * [Tkinter Grid columnspan Demo Repl](https://repl.it/@appbrewery/grid-columnspan-demo#main.py) 353 | * [w3schools Python Writing to File Documentation](https://www.w3schools.com/python/python_file_write.asp) 354 | * [Tkinter Entry Widget Docs](https://effbot.org/tkinterbook/entry.htm) 355 | * [Day 5 Password Generator Project Code](https://repl.it/@appbrewery/password-generator-project#main.py) 356 | * [w3schools Python join() method Documentation](https://www.w3schools.com/python/ref_string_join.asp) 357 | * [Pyperclip documentation on PyPi](https://pypi.org/project/pyperclip/) 358 | * [Password Manager End Code](https://repl.it/@appbrewery/password-manager-end.zip) 359 | 360 | ## Day 30 - Errors, Exceptions and JSON Data: Improving the Password Manager 361 | 362 | * Download the .zip file for the [Password Manager (End of Day 29)](https://repl.it/@appbrewery/password-manager-end.zip) 363 | * [Interactive Coding Exercise - Day 30.1 IndexError Handling](https://repl.it/@appbrewery/day-30-1-exercise) 364 | * [Interactive Coding Exercise - Day 30.2 KeyError Handling](https://repl.it/@appbrewery/day-30-2-exercise) 365 | * Download the .zip file for the [NATO Phonetic Alphabet for the Code Exercise](https://repl.it/@appbrewery/NATO-alphabet-end.zip) 366 | * [Solution to the Improved NATO Phonetic Alphabet Project](https://repl.it/@appbrewery/NATO-alphabet-improved-end.zip) 367 | * [Python JSON Module Documentation](https://docs.python.org/3/library/json.html) 368 | * [Day 30 End Code](https://repl.it/@appbrewery/day-30-end#main.py) 369 | * [Improved Password Manager Project End Code](https://repl.it/@appbrewery/password-manager-improved-end.zip) 370 | 371 | ## Day 31 - Capstone Project - Flash Card App 372 | 373 | * Download the .zip for the [Flash Card Program Starting Files](https://repl.it/@appbrewery/flash-card-project-start.zip) 374 | * [Wiktionary Frequency Lists](https://en.wiktionary.org/wiki/Wiktionary:Frequency_lists) 375 | * [2018 Frequency Lists from Hermit Dave](https://github.com/hermitdave/FrequencyWords/tree/master/content/2018) 376 | * [Open Subtitles](https://www.opensubtitles.org/en/search/subs) 377 | * [Google Sheets](https://www.google.co.uk/sheets/about/) 378 | * [View Only - French Words Google Sheet](https://docs.google.com/spreadsheets/d/1G_6WAjt8R4s-llmyIbihd0qBn4JpeKwl2danJ3BZqBM/edit?usp=sharing) 379 | * [Google Translate for Google Sheets](https://support.google.com/docs/answer/3093331?hl=en-GB) 380 | * [Google Translate Language Codes](https://cloud.google.com/translate/docs/languages?hl=en) 381 | * [Flash Card Program End Code](https://repl.it/@appbrewery/flash-card-project-end.zip) 382 | 383 | ## Day 32 - Send Email (smtplib) & Manage Dates (datetime): The Automated Birthday Wisher 384 | * Download the .zip for the [SMTP Starting Files](https://repl.it/@appbrewery/day-32-start.zip) 385 | * [Python smtplib Documentation](https://docs.python.org/3/library/smtplib.html) 386 | * [Python datetime Documentation](https://docs.python.org/3/library/datetime.html) 387 | * [101 Monday Motivational Quotes from the Positivity Blog](https://www.positivityblog.com/monday-motivation-quotes/) 388 | * [Day 32 End Code](https://repl.it/@appbrewery/day-32-end) 389 | * [Normal Difficulty Birthday Wisher Project Starting .zip File](https://repl.it/@appbrewery/birthday-wisher-normal-start.zip) 390 | * [Hard Difficulty Birthday Wisher Project Starting .zip File](https://repl.it/@appbrewery/birthday-wisher-hard-start.zip) 391 | * [Extra Hard Difficulty Birthday Wisher Project Starting .zip File](https://repl.it/@appbrewery/birthday-wisher-extrahard-start.zip) 392 | * [Host your Code in the Cloud with pythonanywhere](https://www.pythonanywhere.com/) 393 | * [Birthday Wisher Project Completed Code](https://repl.it/@appbrewery/birthday-wisher-end.zip) 394 | 395 | ## Day 33 - API Endpoints and API Parameters - ISS Overhead Notifier 396 | 397 | * [Application Programming Interface Wikipedia Entry](https://en.wikipedia.org/wiki/Application_programming_interface) 398 | * [International Space Station (ISS) Wikipedia Entry](https://en.wikipedia.org/wiki/International_Space_Station) 399 | * [ISS Current Location API Documentation](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) 400 | * [HTTP Status Codes](https://httpstatuses.com/) 401 | * [Python Requests Module Documentation](https://requests.readthedocs.io/en/master/user/quickstart/) 402 | * [JSON Viewer Awesome Chrome Plugin](https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh) 403 | * [Latitude and Longitude to Address Tool](https://www.latlong.net/Show-Latitude-Longitude.html) 404 | * [Kanye Quotes API](https://kanye.rest/) 405 | * Download the .zip for the [Kanye Quotes Starting Files](https://repl.it/@appbrewery/kanye-quotes-start.zip) 406 | * [Kanye Quotes Completed Project Code](https://repl.it/@appbrewery/kanye-quotes-end.zip) 407 | * [Sunrise and Sunset Times API](https://sunrise-sunset.org/api) 408 | * [Find Your Current Latitude and Longitude Tool](https://www.latlong.net) 409 | * [w3schools Python split() method Documentation](https://www.w3schools.com/python/ref_string_split.asp) 410 | * Download the .zip for the [ISS Notifier Starting Files](https://repl.it/@appbrewery/issoverhead-start.zip) 411 | * [ISS Overhead Notifier Final Code](https://repl.it/@appbrewery/issoverhead-end) 412 | 413 | ## Day 34 - API Practice - Creating a GUI Quiz App 414 | 415 | * [The Open Trivia Database](https://opentdb.com/) 416 | * Download the .zip for the [Quizzler App Starting Files](https://repl.it/@appbrewery/quizzler-app-start.zip) 417 | * [Documentation on HTML Entities](https://www.w3schools.com/html/html_entities.asp) 418 | * [FreeFormatter - HTML Unescape Tool](https://www.freeformatter.com/html-escape.html) 419 | * [StackOverflow Answer on Unescaping HTML Entities in Python](https://stackoverflow.com/questions/2087370/decode-html-entities-in-python-string) 420 | * [How to Get TKinter Canvas Text to Wrap](https://www.google.com/search?q=how+to+get+tkinter+text+in+canvas+to+wrap&oq=how+to+get+tkinter+text+in+canvas+to+wrap&aqs=chrome..69i57j33.7303j0j1&sourceid=chrome&ie=UTF-8) 421 | * [How to Disable Tkinter Buttons](https://www.google.com/search?q=how+to+disable+tkinter+buttons&oq=how+to+disable+tkinter+buttons&aqs=chrome..69i57j0l2.3868j0j4&sourceid=chrome&ie=UTF-8) 422 | * [Python Type Hints Demo Code](https://repl.it/@appbrewery/day-34-end.zip) 423 | * [Quiz App Completed Code](https://repl.it/@appbrewery/quizzler-app-end.zip) 424 | 425 | ## Day 35 - Keys, Authentication & Environment Variables: Send SMS 426 | 427 | * [Create a free count on OpenWeatherMap](https://home.openweathermap.org/users/sign_up) 428 | * [OpenWeatherMap Current Weather API Documentation](https://openweathermap.org/current) 429 | * [OpenWeatherMap OneCall Api Documentation](https://openweathermap.org/api/one-call-api) 430 | * [Link to Your OpenWeatherMap API Key req. login](https://home.openweathermap.org/api_keys) 431 | * [Find Your Latitude/longitude](https://www.latlong.net/) 432 | * [Online JSON Viewer](http://jsonviewer.stack.hu/) 433 | * [OpenWeatherMap Condition IDs and Condition Codes](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2) 434 | * [Find a Place that's raining using Ventusky](https://www.ventusky.com/) 435 | * [Python Slice Function](https://www.w3schools.com/python/ref_func_slice.asp) 436 | * [Python Slice Operator with Square Brackets](https://stackoverflow.com/questions/509211/understanding-slice-notation) 437 | * [Signup for Twilio](https://www.twilio.com/try-twilio) 438 | * [Twilio SMS Quickstart Documentation for Python](https://www.twilio.com/docs/sms/quickstart/python) 439 | * [PythonAnywhere](https://www.pythonanywhere.com/) 440 | * [How to Get Twilio to Work on PythonAnywhere Free Accounts](https://help.pythonanywhere.com/pages/TwilioBehindTheProxy/) 441 | * [Environment Variables Wikipedia Entry](https://en.wikipedia.org/wiki/Environment_variable) 442 | * [Other APIs to Explore](https://apilist.fun/) 443 | * [Completed Code for Rain Alert Project](https://repl.it/@appbrewery/rain-alert-end.zip) 444 | 445 | ## Day 36 - Stock Trading News Alert Project 446 | 447 | * [Normal Difficulty Starting Project](https://repl.it/@appbrewery/stock-news-normal-start.zip) 448 | * [Hard Difficulty Starting Project](https://repl.it/@appbrewery/stock-news-hard-start.zip) 449 | * [Extra Hard Difficulty Starting Project](https://repl.it/@appbrewery/stock-news-extrahard-start.zip) 450 | * [TSLA Stock Price](https://uk.tradingview.com/symbols/NASDAQ-TSLA/) 451 | * [Stock Price API](https://www.alphavantage.co/) 452 | * [News API](https://newsapi.org/) 453 | * [Twilio API](https://www.twilio.com/) 454 | * [Completed Code for Stock Trading Alert Project](https://repl.it/@appbrewery/stock-news-end.zip) 455 | 456 | ## Day 37 - Habit Tracking Pixel Project 457 | 458 | * [Pixela](https://pixe.la/) 459 | * [Pixela API Documentation](https://docs.pixe.la/) 460 | * [Requests Module Documentation](https://requests.readthedocs.io/en/latest/api/) 461 | * [w3schools Python Date Formatting with strftime](https://www.w3schools.com/python/python_datetime.asp) 462 | * [Habit Tracking Completed Project](https://repl.it/@appbrewery/habit-tracking-end.zip) 463 | 464 | ## Day 38 - Build a Workout Tracking App that Talks to Google Sheets! 465 | 466 | * [OpenAi GPT-3](https://openai.com/blog/openai-api/) 467 | * [Nutritionix API](https://www.nutritionix.com/business/api) 468 | * [Nutritionix API Documentation](https://docs.google.com/document/d/1_q-K-ObMTZvO0qUEAxROrN3bwMujwAN25sLHwJzliK0/preview) 469 | * [Sheety API](https://sheety.co/) 470 | * [Workout Tracking Completed Project](https://repl.it/@appbrewery/exercise-tracking-end.zip) 471 | 472 | ## Day 39 - Capstone Part 1: Flight Deal Finder 473 | 474 | * Download the .zip for the [Flight Deals Starting Files](https://repl.it/@appbrewery/flight-deals-start.zip) 475 | * [Google Sheet Data Management](https://sheety.co/) 476 | * [Flight Search API (Free Signup)](https://partners.kiwi.com/) 477 | * [Flight Search API Documentation](https://tequila.kiwi.com/portal/docs/tequila_api) 478 | * [Twilio SMS API](https://www.twilio.com/docs/sms) 479 | 480 | ## Day 40 - Capstone Part 2: Flight Club! 481 | 482 | * [Project Inspiration: Jack's Flight Club](https://jacksflightclub.com/) 483 | * [See the course lessons for the individual links](TODO: Add Link to Course) 484 | 485 | ## Day 41 - Introduction to HTML 486 | 487 | * [The Complete Web Development Course](https://www.londonappbrewery.com/web-development) 488 | * [Submarine Cable Map](https://www.submarinecablemap.com/) 489 | * [Atom Text Editor](https://atom.io/) 490 | * [Useful Atom Plugins](https://docs.google.com/document/d/e/2PACX-1vQNuhDC5pFXEVVNGasvddKuDHEXnqR033lsSD5tLA9NiEdHrsYM4MXVEXja2RnBgsCxK6XEo6YkMOFI/pub) 491 | * [VS Code Text Editor](https://code.visualstudio.com/) 492 | * [Experiment with HTML code on codepen.io](https://codepen.io/) 493 | * [The Adventures of Sherlock Holmes on Gutenberg.org](https://www.gutenberg.org/ebooks/1661) 494 | * [MDN documentation on headings](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) 495 | * [w3schools documentation on headings](https://www.w3schools.com/html/html_headings.asp) 496 | * [Alternative reference devdocs.io](https://devdocs.io/) 497 | * [The Wayback Machine](https://archive.org/web/) 498 | * [Professor Thomas H. Cormen's Personal Site](https://www.cs.dartmouth.edu/~thc/) 499 | * [Professor John Kleinberg's Personal Site](http://www.cs.cornell.edu/home/kleinber/) 500 | * [Professor Emeritus Donald Knuth's Personal Site](https://www-cs-faculty.stanford.edu/~knuth/) 501 | * [List of UTF-8 Characters](https://www.fileformat.info/info/charset/UTF-8/list.htm) 502 | * [List of Unicode Characters](https://unicode-table.com/en/) 503 | * [Joel Spolsky on Unicode](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) 504 | * [HTML emphasis vs italicise tags](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em#%3Ci%3E_vs._%3Cem%3E) 505 | * [The Wikigame](https://thewikigame.com/) 506 | 507 | 508 | ## Day 42 - Intermediate HTML 509 | 510 | * [Pascal Van Gemert's Online CV](http://www.pascalvangemert.nl/#/experiences) 511 | * [MDN Table Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table) 512 | * [MDN Form Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) 513 | * [MDN Input Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input) 514 | * [Publish your website using Github Pages](https://pages.github.com/) 515 | 516 | ## Day 43 - Introduction to CSS 517 | 518 | * [Stanford CSS Cheatsheet](https://web.stanford.edu/group/csp/cs21/csscheatsheet.pdf) 519 | * [Toasty Technology classic 90s Style Website](http://toastytech.com/evil/index.html) 520 | * [Sean Halpin's beautiful personal website](http://seanhalpin.io/) 521 | * [MDN documentation on background colour](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color) 522 | * [Curated colour palettes on colorhunt.co](https://colorhunt.co/) 523 | * [Colour palette used in lectures](https://colorhunt.co/palette/94114) 524 | * [Table of named colours on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value) 525 | * [Overview of default CSS applied by the browser](https://www.w3schools.com/cssref/css_default_values.asp) 526 | * [MDN documentation on border-styles](https://developer.mozilla.org/en-US/docs/Web/CSS/border-style) 527 | * [devdocs.io on CSS height](https://devdocs.io/css/height) 528 | * [W3Schools documentation on CSS Text](https://www.w3schools.com/css/css_text.asp) 529 | * Download the [Debugging Problem Starting Files](https://drive.google.com/uc?export=download&id=10wBjqLLB9Xt3JKFHGIcIzpV_t97Exokp) 530 | * Download the [Bacon Fan Site Starting Files](https://drive.google.com/uc?export=download&id=1CNR9W363_uCrqJFN4NKEnDmZyDXNN9mv) 531 | * [MDN CSS Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference) 532 | * [Emojipedia broccoli emoji](https://emojipedia.org/broccoli/) 533 | * [CSS Properties and Pseudoclasses Reference (MDN)](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference) 534 | * [MDN :hover Documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/:hover) 535 | 536 | ## Day 44 - Intermediate CSS 537 | 538 | * [Create a Favicon with favicon.cc](https://www.favicon.cc/) 539 | * [My colours from colorhunt](https://colorhunt.co/palette/14832) 540 | * [Markus Vogl Interactive Box Model Demo](http://markusvogl.com/web1/interactive_box_model/css_box_demo.html) 541 | * Download the [CSS-My Site Images](https://drive.google.com/uc?export=download&id=1lF3LFRt06ssrSyGrDPuzbDcLCyeQuQA5) 542 | * [Is the img element block level or inline level?](https://stackoverflow.com/questions/2402761/is-img-element-block-level-or-inline-level) 543 | * [MDN margin documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/margin) 544 | * [W3Schools documentation on Web Safe Fonts](https://www.w3schools.com/cssref/css_websafe_fonts.asp) 545 | * [cssfontstack.com](https://www.cssfontstack.com/) 546 | * [Google Fonts](https://fonts.google.com/) 547 | * Download the [StubCode.html file](https://drive.google.com/file/d/1tVju_Zg1E9QlhwPU6hO-p3-7myAvwWau/view?usp=sharing) 548 | * [Lorem Ipsum Generator](https://loremipsum.io/) 549 | * [flaticon.com](https://www.flaticon.com/) 550 | * [giphy.com](https://giphy.com/) 551 | * [MDN CSS color property documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/color) 552 | * [MDN font-weight documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight) 553 | * [css3buttongenerator.com](https://css3buttongenerator.com/) 554 | * [Completed Personal Site Project](https://drive.google.com/uc?export=download&id=1FNwOPj-bWO66HO6dsJiBVvFu2dt57n91) 555 | 556 | 557 | ## Day 45 - Web Scraping with Beautiful Soup 558 | 559 | * Download the .zip for the [Beautiful Soup Starting Files](https://repl.it/@appbrewery/bs4-start.zip) 560 | * [Beautiful Soup Documentation](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) 561 | * [Y Combinator Hacker News](https://news.ycombinator.com/) 562 | * [Demo code from lessons](https://repl.it/@appbrewery/bs4-end) 563 | * [Empire's Top 100 Movies of All Time](https://www.empireonline.com/movies/features/best-movies-2/) 564 | * [Top 100 Movies Scraping Project Final Code](https://repl.it/@appbrewery/top100-movies-end.zip) 565 | 566 | ## Day 46 - Create a Spotify Playlist using the Musical Time Machine 567 | 568 | * [See the course lessons for the individual links](https://www.udemy.com/course/100-days-of-code/?referralCode=00555B4B1F6FC1A84FBC) 569 | 570 | ## Day 47 - Create an Automated Amazon Price Tracker 571 | 572 | * [See the course lessons for the individual links](https://www.udemy.com/course/100-days-of-code/?referralCode=00555B4B1F6FC1A84FBC) 573 | 574 | ## Day 48 - Selenium Webdriver and Game Playing Bot 575 | 576 | * [The Cookie Clicker Game](https://orteil.dashnet.org/cookieclicker/) 577 | * [Download and Install the Chrome Browser](https://www.google.com/intl/en_uk/chrome/) 578 | * [Download and Install Selenium ChromeDriver](https://chromedriver.chromium.org/downloads) 579 | * [Selenium Documentation](https://selenium-python.readthedocs.io/) 580 | * [w3schools XPath Tutorial](https://www.w3schools.com/xml/xpath_intro.asp) 581 | * [Wikipedia Main Page](https://en.wikipedia.org/wiki/Main_Page) 582 | * [Challenge URL: Form Sign Up](http://secure-retreat-92358.herokuapp.com/) 583 | * [Our Actual Newsletter](https://www.appbrewery.co/p/newsletter) 584 | * [The Complete Web Development Course](https://www.londonappbrewery.com/web-development) 585 | * [Automated Cookie Clicker Completed Code](https://repl.it/@appbrewery/cookie-clicker-end.zip) 586 | 587 | ## Day 49 - Automating Job Applications on LinkedIn 588 | 589 | * [LinkedIn Jobs](https://www.linkedin.com/jobs/?showJobAlertsModal=false) 590 | * [Automated Job Application Bot Completed Code](https://repl.it/@appbrewery/auto-job-application-end.zip) 591 | 592 | ## Day 50 - Automated Tinder Swiper 593 | 594 | * [Tinder](https://tinder.com/) 595 | * [Machine Learning Generated Profile Pictures](https://www.thispersondoesnotexist.com/) 596 | * [Automated Tinder Swiper Completed Code](https://repl.it/@appbrewery/auto-tinder-swiper.zip) 597 | 598 | ## Day 51 - Internet Speed Twitter Complaint Bot 599 | 600 | * [Internet Speed Checker](https://www.speedtest.net/) 601 | * [Does Tweeting at Companies Really Work?](https://time.com/4894182/twitter-company-complaints/) 602 | * [What it's Like to Cancel Comcast](https://www.huffingtonpost.co.uk/entry/the-comcast-call-from-hell_n_5586476) 603 | * [Comcast Twitter Bot](https://www.vice.com/en_us/article/yp3vzj/this-bot-will-tweet-at-comcast-whenever-your-internet-is-slower-than-advertised) 604 | * [Internet Speed Twitter Bot Completed Code](https://repl.it/@appbrewery/internet-speed-twitter-bot-end.zip) 605 | 606 | ## Day 52 - Instagram Follower Bot 607 | 608 | * [Instagram](https://www.instagram.com/) 609 | * [Follow your competitor's followers to grow your instagram account](https://hypeplanner.com/blogs/instagram-follow-unfollow-strategy-for-instagram-growth/#:~:text=The%20follow%2Funfollow%20Instagram%20strategy,after%20a%20period%20of%20time.) 610 | * [Instagram follower Bot Completed Code](https://repl.it/@appbrewery/instagram-follower-end.zip) 611 | 612 | ## Day 53 - Automated Data Entry Job 613 | 614 | * [Data Entry Jobs on Indeed](https://www.indeed.com/jobs?q=data%20entry&l=remote) 615 | * [Automating Your Job Reddit](https://www.reddit.com/r/Python/comments/8uxifv/has_anyone_automated_their_job_completely/) 616 | * [Automated Job Story](https://workplace.stackexchange.com/questions/93696/is-it-unethical-for-me-to-not-tell-my-employer-i-ve-automated-my-job) 617 | * [Zillow Property search](https://www.zillow.com/homes/for_rent/1-_beds/?searchQueryState=%7B%22pagination%22%3A%7B%7D%2C%22usersSearchTerm%22%3Anull%2C%22mapBounds%22%3A%7B%22west%22%3A-122.69219435644531%2C%22east%22%3A-122.17446364355469%2C%22south%22%3A37.703343724016136%2C%22north%22%3A37.847169233586946%7D%2C%22isMapVisible%22%3Atrue%2C%22filterState%22%3A%7B%22fr%22%3A%7B%22value%22%3Atrue%7D%2C%22fsba%22%3A%7B%22value%22%3Afalse%7D%2C%22fsbo%22%3A%7B%22value%22%3Afalse%7D%2C%22nc%22%3A%7B%22value%22%3Afalse%7D%2C%22cmsn%22%3A%7B%22value%22%3Afalse%7D%2C%22auc%22%3A%7B%22value%22%3Afalse%7D%2C%22fore%22%3A%7B%22value%22%3Afalse%7D%2C%22pmf%22%3A%7B%22value%22%3Afalse%7D%2C%22pf%22%3A%7B%22value%22%3Afalse%7D%2C%22mp%22%3A%7B%22max%22%3A3000%7D%2C%22price%22%3A%7B%22max%22%3A872627%7D%2C%22beds%22%3A%7B%22min%22%3A1%7D%7D%2C%22isListVisible%22%3Atrue%2C%22mapZoom%22%3A11%7D) 618 | * [Google Forms](https://docs.google.com/forms) 619 | * [Automated Data Entry Job Completed Code](https://repl.it/@appbrewery/rental-research-end.zip) 620 | 621 | 622 | ## Day 54 - Introduction to Web Development with Flask 623 | 624 | * [Flask Quick Start Documentation](https://flask.palletsprojects.com/en/1.1.x/quickstart/) 625 | * [Flask Package on PyPi](https://pypi.org/project/Flask/) 626 | * [Windows Command Prompt Cheat Sheet](http://www.cs.columbia.edu/~sedwards/classes/2015/1102-fall/Command%20Prompt%20Cheatsheet.pdf) 627 | * [Mac/Linux Terminal Cheat Sheet](https://gist.github.com/poopsplat/7195274) 628 | * [Python Built In Attributes e.g. __name__](https://docs.python.org/3/library/stdtypes.html?highlight=__name__#special-attributes) 629 | * [What is __main__?](https://docs.python.org/3/library/__main__.html) 630 | * [Python Decorators Docs](https://www.python.org/dev/peps/pep-0318/) 631 | * [Python Decorators Repl.it Code](https://repl.it/@appbrewery/python-decorators#main.py) 632 | * [Interactive Coding Exercise - Day 54.1 Decorators](https://repl.it/@appbrewery/day-54-1-exercise) 633 | * [Visualising Nested Function Return on PythonTutor](http://www.pythontutor.com/visualize.html#code=def%20outer_function%28%29%3A%0A%20%20%20%20print%28%22I'm%20outer%22%29%0A%0A%20%20%20%20def%20nested_function%28%29%3A%0A%20%20%20%20%20%20%20%20print%28%22I'm%20inner%22%29%0A%0A%20%20%20%20return%20nested_function%0A%0Ainner_function%20%3D%20outer_function%28%29%0Ainner_function%28%29%0A&cumulative=false&curInstr=0&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false) 634 | * [Day 54 Completed Code for Flask Server](https://repl.it/@appbrewery/day-54-end.zip) 635 | 636 | ## Day 55 - HTML & URL Parsing in Flask and the Higher Lower Game 637 | 638 | * [Advanced Python Decorators Repl.it Code](https://repl.it/@appbrewery/python-advanced-decorators#main.py) 639 | * [Interactive Coding Exercise - Day 55.1 Advanced Decorators](https://repl.it/@appbrewery/day-5-1-exercise) 640 | * [Day 56 End and Completed Code for Higher-Lower Game](https://repl.it/@appbrewery/day-55-end.zip) 641 | 642 | ## Day 56 - Rendering HTML/Static Files and Name Card Project 643 | * [Flask Quick Start on Rendering HTML templates](https://flask.palletsprojects.com/en/1.1.x/quickstart/#rendering-templates) 644 | * [My CV Website Hosted on GitHub](https://angelabauer.github.io/cv/) 645 | * [Personal Site HTML and CSS .zip File](https://repl.it/@appbrewery/personal-site-files.zip) 646 | * [HTML5 UP Website Templates](https://html5up.net/) 647 | 648 | 649 | ## Day 57 - Templating with Jinja and Blog Project 650 | * [Rendering Templates in Flask](https://flask.palletsprojects.com/en/1.1.x/quickstart/#rendering-templates) 651 | * [Jinja Documentation](https://jinja.palletsprojects.com/en/2.11.x/templates/) 652 | * [Day 57 Starting Files](https://repl.it/@appbrewery/day-57-start.zip) 653 | * [Update Your Footer](http://updateyourfooter.com/) 654 | * [Genderize API](https://genderize.io/) 655 | * [Agify API](https://agify.io/) 656 | * [Day 57 End](https://repl.it/@appbrewery/day-57-end.zip) 657 | * [Blog Project Starting Code](https://repl.it/@appbrewery/blog-templating-start.zip) 658 | * [n:point JSON Bin](https://www.npoint.io/) 659 | * [n:point Fake Blog Data](https://www.npoint.io/docs/5abcca6f4e39b4955965) 660 | * [Blog Project Completed Code](https://repl.it/@appbrewery/blog-templating-end.zip) 661 | 662 | ## Day 58 - Bootstrap 663 | * [Codeply: Use Bootstrap in an Online Editor](https://www.codeply.com/) 664 | * [Bootstrap Homepage](https://getbootstrap.com/) 665 | * [Boostrap Examples](https://getbootstrap.com/docs/4.0/examples/) 666 | * [How to Install Bootstrap](https://getbootstrap.com/docs/4.5/getting-started/introduction/) 667 | * [Submarine Cable Map](https://www.submarinecablemap.com/) 668 | * [Websites featured on awwwards.com](https://www.awwwards.com/websites/com/) 669 | * [Design patterns on ui-patterns.com](http://ui-patterns.com/patterns) 670 | * [Websites on dribbble.com](https://dribbble.com/search/website) 671 | * [Templates on sneakpeekit.com](https://sneakpeekit.com/) 672 | * [Wireframing with balsamiq](https://balsamiq.cloud/) 673 | * [Bootstrap Navbar](https://getbootstrap.com/docs/4.5/components/navbar/) 674 | * [Bootstrap Colour names](https://getbootstrap.com/docs/4.5/components/buttons/) 675 | * [Bootstrap NavBar Codeply](https://www.codeply.com/p/GVJU3ipWxP) 676 | * [Bootstrap Grid Codeply](https://www.codeply.com/p/gGAW4KgOrL) 677 | * [TinDog Starting Files](https://drive.google.com/uc?export=download&id=16zC2yFidTU0fBUNN0P3HVmKN5xiMKxNL) 678 | * [Bootstrap Layout Grids](https://getbootstrap.com/docs/4.5/layout/grid/) 679 | * [Google Fonts: Montserrat](https://fonts.google.com/specimen/Montserrat) 680 | * [Google Fonts: Ubuntu](https://fonts.google.com/specimen/Ubuntu) 681 | * [Bootstrap Containers](https://getbootstrap.com/docs/4.5/layout/overview/#containers) 682 | * [Bootstrap Buttons](https://getbootstrap.com/docs/4.5/components/buttons/) 683 | * [Apple Icon on Font Awesome](https://fontawesome.com/icons?d=gallery&q=apple) 684 | * [Hint: CSS Transform Function](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function) 685 | * [Bootstrap Carousel](https://getbootstrap.com/docs/4.5/components/carousel/) 686 | * [Bootstrap Card](https://getbootstrap.com/docs/4.5/components/card/) 687 | * [Cards Pricing Example](https://getbootstrap.com/docs/4.5/examples/pricing/) 688 | * [Bootsnipp.com Examples](https://bootsnipp.com/) 689 | * [Z-Index Documentation on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/Adding_z-index) 690 | * [Download Stacking Order Flowchart](https://drive.google.com/uc?export=download&id=13Z1_Fgbh3QESIIoFpXUgo1F4sVjB9di2) 691 | * [Z-Index Codeply Example](https://www.codeply.com/p/0fYVdrVmZM) 692 | * [Mobile Friendly Test](https://search.google.com/test/mobile-friendly) 693 | * Download the Tindog Completed [Project Files](https://drive.google.com/uc?export=download&id=1GT2nLIp32IwMmqKgX0jYOylAmHLPE7iQ) 694 | 695 | ## Day 59 - Upgraded Blog with Bootstrap 696 | * [Clean Blog Bootstrap Template](https://startbootstrap.com/previews/clean-blog/) 697 | * [Flask URL Building for Static Files](https://flask.palletsprojects.com/en/1.1.x/quickstart/#static-files) 698 | * [Jinja Variables](https://jinja.palletsprojects.com/en/2.11.x/templates/#variables) 699 | * [Unsplash - Beautiful Free Photos](https://unsplash.com/) 700 | * [Blog Title Image](https://images.unsplash.com/photo-1470092306007-055b6797ca72?ixlib=rb-1.2.1&auto=format&fit=crop&w=668&q=80) 701 | * [Blog Content NPoint API](https://api.npoint.io/43644ec4f0013682fc0d) 702 | * [Completed Code for Day 59](https://repl.it/@appbrewery/day-59-end.zip) 703 | 704 | ## Day 60 - HTML Forms with Flask 705 | 706 | * [See the course lessons for the individual links](TODO: Add Link to Course) 707 | * [Completed Code for Day 60 - Blog Website with Working Contact Form](https://repl.it/@appbrewery/day-60-end.zip) 708 | 709 | ## Day 61 - Building Advanced Forms with WTForms 710 | * [See the course lessons for the individual links](TODO: Add Link to Course) 711 | * [Completed Code for Day 61 - Secrets Website with WTForms](https://repl.it/@appbrewery/day-61-end.zip) 712 | 713 | ## Day 68 - Authentication with Flask-Login 714 | * [How the Enigma Machine Works](https://www.youtube.com/watch?v=G2_Q9FoD-oQ&ab_channel=Numberphile) 715 | * [The Flaw in the Enigma Machine](https://www.youtube.com/watch?v=V4V2bpZlqx8&ab_channel=Numberphile) 716 | --------------------------------------------------------------------------------