├── Day 1 ├── 1.Printing.py ├── 2.Debugging Practice.py ├── 3.Input Function.py ├── 4.Variables.py └── Band Name Generator.py ├── Day 10 ├── 1.Day Exercise.py ├── 2.Days in Month.py └── Project Calculator │ ├── __pycache__ │ ├── calculator_art.cpython-37.pyc │ └── calculator_art.cpython-38.pyc │ ├── calculator.py │ └── calculator_art.py ├── Day 11 ├── Blackjack_game.py ├── __pycache__ │ └── blackjack_art.cpython-37.pyc └── blackjack_art.py ├── Day 12 ├── 1.Day Exercise.py └── Project Guessing Game │ ├── Guessing_game.py │ ├── __pycache__ │ └── guessing_art.cpython-37.pyc │ └── guessing_art.py ├── Day 13 ├── 1.Day Exercise.py ├── 2.Debugging Odd or Even.py ├── 3.Debugging Leap Year.py └── 4.Debugging FizzBuzz.py ├── Day 14 ├── __pycache__ │ ├── game_art.cpython-37.pyc │ └── game_data.cpython-37.pyc ├── game_art.py ├── game_data.py └── higher_lower_game.py ├── Day 15 └── CoffeeMachine.py ├── Day 16 ├── 1.Day Exercise.py └── Coffee Machine │ ├── __pycache__ │ ├── coffee_maker.cpython-37.pyc │ ├── menu.cpython-37.pyc │ └── money_machine.cpython-37.pyc │ ├── coffee_maker.py │ ├── machine.py │ ├── menu.py │ └── money_machine.py ├── Day 17 ├── 1.Day Exercise.py └── Quiz Game │ ├── __pycache__ │ ├── data.cpython-37.pyc │ ├── question_model.cpython-37.pyc │ └── quiz_brain.cpython-37.pyc │ ├── data.py │ ├── game.py │ ├── question_model.py │ └── quiz_brain.py ├── Day 18 ├── 1.Day Exercise.py ├── 2.Challenge 1.py ├── 3.Challenge 2.py ├── 4.Challenge 3.py ├── 5.Challenge 4.py ├── 6.Challenge 5.py └── Hirst Painting Project │ ├── hirst_paint.py │ └── image.jpg ├── Day 19 ├── 1.Day Exercise.py ├── 2.Challenge 1.py └── Turtle Race Game │ └── turtle_race.py ├── Day 2 ├── 1.Data Types.py ├── 2.BMI Calculator.py ├── 3.Life in Weeks.py └── Tip Calculator.py ├── Day 20 └── Snake Game │ ├── __pycache__ │ ├── snake.cpython-37.pyc │ └── snake.cpython-38.pyc │ ├── game.py │ └── snake.py ├── Day 21 ├── 1.Day Exercise.py └── Snake Game │ ├── __pycache__ │ ├── food.cpython-37.pyc │ ├── food.cpython-38.pyc │ ├── scoreboard.cpython-37.pyc │ ├── scoreboard.cpython-38.pyc │ ├── snake.cpython-37.pyc │ └── snake.cpython-38.pyc │ ├── food.py │ ├── game.py │ ├── scoreboard.py │ └── snake.py ├── Day 22 └── Pong Game │ ├── __pycache__ │ ├── ball.cpython-38.pyc │ ├── paddle.cpython-38.pyc │ └── scoreboard.cpython-38.pyc │ ├── ball.py │ ├── game.py │ ├── paddle.py │ └── scoreboard.py ├── Day 23 └── Turtle Crossing Game │ ├── __pycache__ │ ├── car_manager.cpython-37.pyc │ ├── car_manager.cpython-38.pyc │ ├── player.cpython-37.pyc │ ├── player.cpython-38.pyc │ ├── scoreboard.cpython-37.pyc │ └── scoreboard.cpython-38.pyc │ ├── car_manager.py │ ├── game.py │ ├── player.py │ └── scoreboard.py ├── Day 24 ├── 1.Day Exercise.py ├── Mail Merge Project │ ├── Input │ │ ├── Letters │ │ │ └── starting_letter.txt │ │ └── Names │ │ │ └── invited_names.txt │ ├── Output │ │ └── ReadyToSend │ │ │ ├── example.txt │ │ │ ├── letter_for_Aang.txt │ │ │ ├── letter_for_Appa.txt │ │ │ ├── letter_for_Katara.txt │ │ │ ├── letter_for_Momo.txt │ │ │ ├── letter_for_Sokka.txt │ │ │ ├── letter_for_Toph.txt │ │ │ ├── letter_for_Uncle Iroh.txt │ │ │ └── letter_for_Zuko.txt │ └── mail_merge.py ├── Snake Game │ ├── __pycache__ │ │ ├── food.cpython-38.pyc │ │ ├── scoreboard.cpython-38.pyc │ │ └── snake.cpython-38.pyc │ ├── food.py │ ├── main.py │ ├── score.txt │ ├── scoreboard.py │ └── snake.py ├── my_file.txt └── new_file.txt ├── Day 25 ├── 1.Day Exercise.py ├── 2.Day Exercise2.py ├── 2018-Central-Park-Squirrel-Census-Squirrel-Data.csv ├── US States Game │ ├── 50_states.csv │ ├── blank_states_img.gif │ ├── game.py │ └── states_to_learn.csv ├── new_data.csv ├── squirrel_count.csv └── weather-data.csv ├── Day 26 ├── 1.Day Exercise.py ├── 2.Squaring Numbers.py ├── 3.Data Overlap.py ├── 4.Dictionary Comprehension 1.py ├── 5.Dictionary Comprehension 2.py ├── NATO alphabet project │ ├── main.py │ └── nato_phonetic_alphabet.csv ├── file1.txt └── file2.txt ├── Day 27 ├── 1.Day Exercise.py ├── 2.Day Exercise.py ├── Mile to Km Converter │ └── converter.py └── playground.py ├── Day 28 └── Pomodoro Project │ ├── main.py │ └── tomato.png ├── Day 29 └── Password Manager Project │ ├── data.txt │ ├── logo.png │ └── manager.py ├── Day 3 ├── 1.Odd or Even.py ├── 2.BMI 2.0.py ├── 3.Leap Year.py ├── 4.Pizza Order Practice.py ├── 5.Love Calculator.py └── Treasure Island.py ├── Day 30 ├── 1.Day Exercise.py ├── 2.IndexError Handling.py ├── 3.KeyError Handling.py ├── Exception Handling NATO Alphabet Project │ ├── main.py │ └── nato_phonetic_alphabet.csv ├── Password Manager Update Project │ ├── data.json │ ├── logo.png │ └── manager.py └── a_file.txt ├── Day 31 └── Flash Card App │ ├── app.py │ ├── data │ ├── french_words.csv │ └── words_to_learn.csv │ └── images │ ├── card_back.png │ ├── card_front.png │ ├── right.png │ └── wrong.png ├── Day 32 ├── 1.Day Exercise.py ├── Automated Birthday Wisher │ ├── birthdays.csv │ ├── letter_templates │ │ ├── letter_1.txt │ │ ├── letter_2.txt │ │ └── letter_3.txt │ └── wisher.py └── Motivational Quotes Sender │ ├── motivation.py │ └── quotes.txt ├── Day 33 ├── 1.Day Exercise.py ├── Challenge Kanye Quotes │ ├── background.png │ ├── kanye.png │ └── kanye.py └── ISS OverHead │ └── main.py ├── Day 34 └── Quizzler App │ ├── __pycache__ │ ├── data.cpython-37.pyc │ ├── question_model.cpython-37.pyc │ ├── quiz_brain.cpython-37.pyc │ └── ui.cpython-37.pyc │ ├── data.py │ ├── images │ ├── false.png │ └── true.png │ ├── question_model.py │ ├── quiz.py │ ├── quiz_brain.py │ └── ui.py ├── Day 35 └── Rain Alert │ └── alert.py ├── Day 36 └── Stock News App │ └── main.py ├── Day 37 └── Habit Tracker │ └── main.py ├── Day 38 └── Exercise Traking │ ├── My Workouts - workouts.pdf │ └── main.py ├── Day 39 └── Flight Deals │ ├── data_manager.py │ ├── flight_data.py │ ├── flight_search.py │ ├── main.py │ └── notification_manager.py ├── Day 4 ├── 1.Heads or Tails.py ├── 2.Banker Roulette.py ├── 3.Treasure Map.py └── Rock Paper Scissor game.py ├── Day 40 └── Flight Deals │ ├── data_manager.py │ ├── flight_data.py │ ├── flight_search.py │ ├── main.py │ └── notification_manager.py ├── Day 41 └── HTML - Personal Site │ ├── contact-me.html │ ├── hobbies.html │ ├── index.html │ └── rajdip_pic.jpg ├── Day 42 ├── HTML - Personal Site │ ├── contact-me.html │ ├── hobbies.html │ ├── index.html │ └── rajdip_pic.jpg ├── HTML Challenge │ └── index.html └── HTML Inputs.html ├── Day 43 ├── CSS - Bacon Fansite │ ├── index.html │ └── styles.css └── HTML - Personal Site │ ├── contact-me.html │ ├── hobbies.html │ ├── index.html │ ├── rajdip_pic.jpg │ └── styles.css ├── Day 44 └── CSS - My Site │ ├── css │ └── styles.css │ ├── images │ ├── cloud.png │ ├── computer.png │ ├── favicon.ico │ ├── mountain.png │ ├── profile.png │ ├── rajdip_pic.png │ └── travel.png │ └── index.html ├── Day 45 ├── 1.Day Exercise │ ├── HTML - Personal Site │ │ ├── contact-me.html │ │ ├── hobbies.html │ │ ├── index.html │ │ └── rajdip_pic.jpg │ └── main.py └── 100 movies to watch │ ├── main.py │ └── movies.txt ├── Day 46 └── Musical Time Machine │ └── main.py ├── Day 47 └── Amazon Price Tracker │ └── main.py ├── Day 48 ├── Challenge │ ├── autosignup.py │ ├── interaction.py │ └── main.py ├── Cookie Clicker │ └── main.py └── Windows Demo │ └── main.py ├── Day 49 └── Autometed Job Application │ └── main.py ├── Day 5 ├── 1.Average Height.py ├── 2.High Score.py ├── 3.Adding Even Numbers.py ├── 4.FizzBuzz.py └── Password Generator.py ├── Day 50 └── Automate Tinder Swaping │ └── main.py ├── Day 51 └── Twitter Complain Bot │ └── main.py ├── Day 52 └── Instagram Follower Bot │ └── main.py ├── Day 53 ├── Data Entry Job Automation │ └── main.py └── main.py ├── Day 54 ├── Exercise │ └── main.py └── main.py ├── Day 55 ├── Exercise │ └── main.py ├── Higher or Lower Game │ └── game.py └── main.py ├── Day 56 ├── My Name Card │ ├── server.py │ ├── static │ │ ├── assets │ │ │ ├── .sass-cache │ │ │ │ ├── 12a6f86b5e4aa64fcb14102de616aea4d622c84f │ │ │ │ │ ├── ie8.scssc │ │ │ │ │ ├── ie9 - Copy.scssc │ │ │ │ │ ├── ie9.scssc │ │ │ │ │ ├── main.scssc │ │ │ │ │ └── noscript.scssc │ │ │ │ ├── 67a30392a9c4d42ed248c6b1404813d02df84637 │ │ │ │ │ ├── _functions.scssc │ │ │ │ │ ├── _mixins.scssc │ │ │ │ │ ├── _skel.scssc │ │ │ │ │ └── _vars.scssc │ │ │ │ ├── 7e789d186c055861f24133e1b9885bb81c49b2aa │ │ │ │ │ ├── _copyright.scssc │ │ │ │ │ ├── _footer.scssc │ │ │ │ │ ├── _main.scssc │ │ │ │ │ └── _wrapper.scssc │ │ │ │ ├── cf0bea95a132a2d2ad494712665ec6344019307b │ │ │ │ │ ├── _button.scssc │ │ │ │ │ ├── _form.scssc │ │ │ │ │ ├── _icon.scssc │ │ │ │ │ └── _list.scssc │ │ │ │ └── fdfbe966239fea8d85b20cc3e91511822b0ce989 │ │ │ │ │ ├── _page.scssc │ │ │ │ │ └── _typography.scssc │ │ │ ├── css │ │ │ │ ├── font-awesome.min.css │ │ │ │ ├── ie8.css │ │ │ │ ├── ie9.css │ │ │ │ ├── images │ │ │ │ │ └── overlay.png │ │ │ │ ├── main.css │ │ │ │ └── noscript.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── js │ │ │ │ ├── PIE.htc │ │ │ │ ├── html5shiv.js │ │ │ │ └── respond.min.js │ │ │ └── sass │ │ │ │ ├── base │ │ │ │ ├── _page.scss │ │ │ │ └── _typography.scss │ │ │ │ ├── components │ │ │ │ ├── _button.scss │ │ │ │ ├── _form.scss │ │ │ │ ├── _icon.scss │ │ │ │ └── _list.scss │ │ │ │ ├── ie8.scss │ │ │ │ ├── ie9.scss │ │ │ │ ├── layout │ │ │ │ ├── _footer.scss │ │ │ │ ├── _main.scss │ │ │ │ └── _wrapper.scss │ │ │ │ ├── libs │ │ │ │ ├── _functions.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _skel.scss │ │ │ │ └── _vars.scss │ │ │ │ ├── main.scss │ │ │ │ └── noscript.scss │ │ └── images │ │ │ ├── avatar.png │ │ │ └── bg.jpg │ └── templates │ │ └── index.html └── My Personal Site │ ├── server.py │ ├── static │ ├── css │ │ └── styles.css │ └── images │ │ ├── cloud.png │ │ ├── computer.png │ │ ├── favicon.ico │ │ ├── mountain.png │ │ ├── profile.png │ │ ├── rajdip_pic.png │ │ └── travel.png │ └── templates │ └── index.html ├── Day 57 ├── Blog Templating │ ├── __pycache__ │ │ └── post.cpython-37.pyc │ ├── main.py │ ├── post.py │ ├── static │ │ └── css │ │ │ └── styles.css │ └── templates │ │ ├── index.html │ │ └── post.html └── Exercise │ ├── server.py │ └── templates │ ├── blog.html │ ├── guess.html │ └── index.html ├── Day 58 └── TinDog Completed Website │ ├── css │ └── styles.css │ ├── images │ ├── HTMAA-thumbnail.png │ ├── TechCrunch.png │ ├── bizinsider.png │ ├── dog-img.jpg │ ├── iphone6.png │ ├── lady-img.jpg │ ├── mashable.png │ ├── rajdip.png │ └── tnw.png │ └── index.html ├── Day 59 └── Blog Templating │ ├── gulpfile.js │ ├── main.py │ ├── static │ ├── css │ │ ├── clean-blog.css │ │ └── clean-blog.min.css │ ├── img │ │ ├── about-bg.jpg │ │ ├── contact-bg.jpg │ │ ├── home-bg.jpg │ │ ├── post-bg.jpg │ │ └── post-sample-image.jpg │ ├── js │ │ ├── clean-blog.js │ │ ├── clean-blog.min.js │ │ ├── contact_me.js │ │ └── jqBootstrapValidation.js │ ├── scss │ │ ├── _bootstrap-overrides.scss │ │ ├── _contact.scss │ │ ├── _footer.scss │ │ ├── _global.scss │ │ ├── _masthead.scss │ │ ├── _mixins.scss │ │ ├── _navbar.scss │ │ ├── _post.scss │ │ ├── _variables.scss │ │ └── clean-blog.scss │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── fontawesome-free │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-shims.css │ │ │ └── v4-shims.min.css │ │ └── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.svg │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.svg │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.svg │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ └── fa-solid-900.woff2 │ │ └── jquery │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── jquery.slim.js │ │ ├── jquery.slim.min.js │ │ └── jquery.slim.min.map │ └── templates │ ├── about.html │ ├── contact.html │ ├── footer.html │ ├── header.html │ ├── index.html │ └── post.html ├── Day 6 ├── 1.Hurdle 1.py ├── 1.Problem.JPG ├── 1.Result.JPG ├── 2.Hurdle 2.py ├── 2.Problem.JPG ├── 2.Result.JPG ├── 3.Hurdle 3.py ├── 3.Problem.JPG ├── 3.Result.JPG ├── 4.Hurdle 4.py ├── 4.Problem.JPG ├── 4.Result.JPG ├── 5.Maze Problem.JPG ├── 5.Maze Result.JPG └── 5.Maze.py ├── Day 60 └── Blog Templating │ ├── gulpfile.js │ ├── main.py │ ├── static │ ├── css │ │ ├── clean-blog.css │ │ └── clean-blog.min.css │ ├── img │ │ ├── about-bg.jpg │ │ ├── contact-bg.jpg │ │ ├── home-bg.jpg │ │ ├── post-bg.jpg │ │ └── post-sample-image.jpg │ ├── js │ │ ├── clean-blog.js │ │ ├── clean-blog.min.js │ │ ├── contact_me.js │ │ └── jqBootstrapValidation.js │ ├── scss │ │ ├── _bootstrap-overrides.scss │ │ ├── _contact.scss │ │ ├── _footer.scss │ │ ├── _global.scss │ │ ├── _masthead.scss │ │ ├── _mixins.scss │ │ ├── _navbar.scss │ │ ├── _post.scss │ │ ├── _variables.scss │ │ └── clean-blog.scss │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── fontawesome-free │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-shims.css │ │ │ └── v4-shims.min.css │ │ └── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.svg │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.eot │ │ │ ├── fa-regular-400.svg │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.svg │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ └── fa-solid-900.woff2 │ │ └── jquery │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── jquery.slim.js │ │ ├── jquery.slim.min.js │ │ └── jquery.slim.min.map │ └── templates │ ├── about.html │ ├── contact.html │ ├── footer.html │ ├── header.html │ ├── index.html │ └── post.html ├── Day 61 └── flask-secrets │ ├── main.py │ └── templates │ ├── base.html │ ├── denied.html │ ├── index.html │ ├── login.html │ └── success.html ├── Day 62 └── Coffee and wifi │ ├── cafe-data.csv │ ├── main.py │ ├── static │ └── css │ │ └── styles.css │ └── templates │ ├── add.html │ ├── cafes.html │ └── index.html ├── Day 63 └── Files Library │ ├── main.py │ └── templates │ ├── add.html │ ├── edit_rating.html │ └── index.html ├── Day 64 └── My Top 10 Movies Website │ ├── main.py │ ├── static │ └── css │ │ └── styles.css │ └── templates │ ├── add.html │ ├── edit.html │ ├── index.html │ └── select.html ├── Day 65 └── The Hotel │ ├── 1.png │ ├── 2.png │ └── 3.png ├── Day 66 └── cafe api │ ├── main.py │ └── templates │ └── index.html ├── Day 67 └── RESTful blog │ ├── main.py │ ├── static │ ├── css │ │ ├── clean-blog.css │ │ └── clean-blog.min.css │ ├── img │ │ ├── about-bg.jpg │ │ ├── contact-bg.jpg │ │ └── edit-bg.jpg │ ├── js │ │ ├── clean-blog.js │ │ ├── clean-blog.min.js │ │ ├── contact_me.js │ │ └── jqBootstrapValidation.js │ ├── scss │ │ ├── _bootstrap-overrides.scss │ │ ├── _contact.scss │ │ ├── _footer.scss │ │ ├── _global.scss │ │ ├── _masthead.scss │ │ ├── _mixins.scss │ │ ├── _navbar.scss │ │ ├── _post.scss │ │ ├── _variables.scss │ │ └── clean-blog.scss │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── fontawesome-free │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-shims.css │ │ │ └── v4-shims.min.css │ │ └── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.svg │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.svg │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.svg │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ └── fa-solid-900.woff2 │ │ └── jquery │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── jquery.slim.js │ │ ├── jquery.slim.min.js │ │ └── jquery.slim.min.map │ └── templates │ ├── about.html │ ├── contact.html │ ├── footer.html │ ├── header.html │ ├── index.html │ ├── make-post.html │ └── post.html ├── Day 68 └── flask auth │ ├── main.py │ ├── static │ ├── css │ │ └── styles.css │ └── files │ │ └── cheat_sheet.pdf │ └── templates │ ├── base.html │ ├── index.html │ ├── login.html │ ├── register.html │ └── secrets.html ├── Day 69 └── Blog │ ├── forms.py │ ├── main.py │ ├── static │ ├── css │ │ ├── clean-blog.css │ │ └── clean-blog.min.css │ ├── img │ │ ├── about-bg.jpg │ │ ├── contact-bg.jpg │ │ └── edit-bg.jpg │ ├── js │ │ ├── clean-blog.js │ │ ├── clean-blog.min.js │ │ ├── contact_me.js │ │ └── jqBootstrapValidation.js │ ├── scss │ │ ├── _bootstrap-overrides.scss │ │ ├── _contact.scss │ │ ├── _footer.scss │ │ ├── _global.scss │ │ ├── _masthead.scss │ │ ├── _mixins.scss │ │ ├── _navbar.scss │ │ ├── _post.scss │ │ ├── _variables.scss │ │ └── clean-blog.scss │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── fontawesome-free │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-shims.css │ │ │ └── v4-shims.min.css │ │ └── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.svg │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.svg │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.svg │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ └── fa-solid-900.woff2 │ │ └── jquery │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.min.map │ │ ├── jquery.slim.js │ │ ├── jquery.slim.min.js │ │ └── jquery.slim.min.map │ └── templates │ ├── about.html │ ├── contact.html │ ├── footer.html │ ├── header.html │ ├── index.html │ ├── login.html │ ├── make-post.html │ ├── post.html │ └── register.html ├── Day 7 ├── HangMan_Art.py ├── HangMan_Words.py ├── Project HangMan.py └── __pycache__ │ ├── HangMan_Art.cpython-37.pyc │ └── HangMan_Words.cpython-37.pyc ├── Day 71 └── Data Exploration │ ├── Data_Exploration.ipynb │ └── salaries_by_college_major.csv ├── Day 72 └── programming language │ ├── Programming_Languages.ipynb │ └── QueryResults.csv ├── Day 73 └── LEGO Notebook and Data │ ├── .ipynb_checkpoints │ └── Lego_Analysis_for_Course_(completed)-checkpoint.ipynb │ ├── Lego_Analysis.ipynb │ ├── assets │ ├── bricks.jpg │ ├── lego_sets.png │ ├── lego_themes.png │ └── rebrickable_schema.png │ └── data │ ├── colors.csv │ ├── sets.csv │ └── themes.csv ├── Day 74 └── Google Trends data Viz │ ├── Bitcoin Search Trend.csv │ ├── Daily Bitcoin Price.csv │ ├── Google_Trends_and_Data_Visualisation.ipynb │ ├── TESLA Search Trend vs Price.csv │ ├── UE Benefits Search vs UE Rate 2004-19.csv │ └── UE Benefits Search vs UE Rate 2004-20.csv ├── Day 75 └── Google play store analysis │ ├── Google_Play_Store_App_Analytics.ipynb │ └── apps.csv ├── Day 76 └── Computation with Numpy │ ├── Computation_with_NumPy_and_N_Dimensional_Arrays.ipynb │ └── yummy_macarons.jpg ├── Day 77 └── Box Office Revenue │ ├── Seaborn_and_Linear_Regression.ipynb │ └── cost_revenue_dirty.csv ├── Day 78 └── Nobel Prize Analysis │ ├── Nobel_Prize_Analysis.ipynb │ └── nobel_prize_data.csv ├── Day 79 └── Dr Semmelweis Analysis │ ├── Dr_Semmelweis_Handwashing_Discovery.ipynb │ ├── annual_deaths_by_clinic.csv │ └── monthly_deaths.csv ├── Day 8 ├── 1.Day Exercise.py ├── 2.Paint Area Calculator.py ├── 3.Prime Numbers.py └── Project Caesar Cipher │ ├── Art.py │ ├── Caesar Cipher.py │ └── __pycache__ │ └── Art.cpython-37.pyc ├── Day 80 └── Multivariable Regression │ ├── Multivariable_Regression_and_Valuation_Model.ipynb │ └── boston.csv ├── Day 9 ├── 1.Day Exercise.py ├── 2.Grading Program.py ├── 3.Dictionary in List.py └── Project The Secret Auction │ ├── Secret Auction.py │ ├── __pycache__ │ └── art.cpython-37.pyc │ └── art.py └── README.md /Day 1/1.Printing.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Example Output 3 | After you have written your code, you should run your program and it should print the following: 4 | 5 | Day 1 - Python Print Function 6 | The function is declared like this: 7 | print('what to print') 8 | 9 | ''' 10 | 11 | print("Day 1 - Python Print Function") 12 | print("The function is declared like this:") 13 | print("print('what to print')") 14 | -------------------------------------------------------------------------------- /Day 1/2.Debugging Practice.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Example Output 3 | When you run your program, it should print the following: 4 | 5 | Day 1 - String Manipulation 6 | String Concatenation is done with the "+" sign. 7 | e.g. print("Hello " + "world") 8 | New lines can be created with a backslash and n. 9 | 10 | ''' 11 | 12 | print("Day 1 - String Manipulation") 13 | print('String Concatenation is done with the "+" sign.') 14 | print('e.g. print("Hello " + "world")') 15 | print("New lines can be created with a backslash and n.") 16 | -------------------------------------------------------------------------------- /Day 1/3.Input Function.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Write a program that prints the number of characters in a user's name.0 3 | ''' 4 | 5 | print(len(input("What is your name?"))) 6 | -------------------------------------------------------------------------------- /Day 1/4.Variables.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Write a program that switches the values stored in the variables a and b 4 | ''' 5 | 6 | # 🚨 Don't change the code below 👇 7 | a = input("a: ") 8 | b = input("b: ") 9 | # 🚨 Don't change the code above 👆 10 | 11 | #################################### 12 | #Write your code below this line 👇 13 | 14 | c = a 15 | a = b 16 | b = c 17 | 18 | #Write your code above this line 👆 19 | #################################### 20 | 21 | # 🚨 Don't change the code below 👇 22 | print("a: " + a) 23 | print("b: " + b) 24 | -------------------------------------------------------------------------------- /Day 1/Band Name Generator.py: -------------------------------------------------------------------------------- 1 | # 1. Create a greeting for your program. 2 | 3 | # 2. Ask the user for the city that they grew up in. 4 | 5 | # 3. Ask the user for the name of a pet. 6 | 7 | # 4. Combine the name of their city and pet and show them their band name. 8 | 9 | # 5. Make sure the input cursor shows on a new line. 10 | 11 | print("Welcome to the Band Name Generator.") 12 | x = input("What's name of the city you grew up in?\n") 13 | y = input("What's your pet's name?\n") 14 | print("Your band name could be " + x + " " + y) -------------------------------------------------------------------------------- /Day 10/2.Days in Month.py: -------------------------------------------------------------------------------- 1 | def is_leap(year): 2 | if year % 4 == 0: 3 | if year % 100 == 0: 4 | if year % 400 == 0: 5 | return True 6 | else: 7 | return False 8 | else: 9 | return True 10 | else: 11 | return False 12 | 13 | 14 | def days_in_month(year, month): 15 | if month > 12 or month < 1: 16 | return "Invalid month" 17 | month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 18 | if is_leap(year) and month == 2: 19 | return 29 20 | return month_days[month - 1] 21 | 22 | 23 | # 🚨 Do NOT change any of the code below 24 | year = int(input("Enter a year: ")) 25 | month = int(input("Enter a month: ")) 26 | days = days_in_month(year, month) 27 | print(days) 28 | -------------------------------------------------------------------------------- /Day 10/Project Calculator/__pycache__/calculator_art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 10/Project Calculator/__pycache__/calculator_art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 10/Project Calculator/__pycache__/calculator_art.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 10/Project Calculator/__pycache__/calculator_art.cpython-38.pyc -------------------------------------------------------------------------------- /Day 11/__pycache__/blackjack_art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 11/__pycache__/blackjack_art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 11/blackjack_art.py: -------------------------------------------------------------------------------- 1 | logo = """ 2 | .------. _ _ _ _ _ 3 | |A_ _ |. | | | | | | (_) | | 4 | |( \/ ).-----. | |__ | | __ _ ___| | ___ __ _ ___| | __ 5 | | \ /|K /\ | | '_ \| |/ _` |/ __| |/ / |/ _` |/ __| |/ / 6 | | \/ | / \ | | |_) | | (_| | (__| <| | (_| | (__| < 7 | `-----| \ / | |_.__/|_|\__,_|\___|_|\_\ |\__,_|\___|_|\_\\ 8 | | \/ K| _/ | 9 | `------' |__/ 10 | """ 11 | -------------------------------------------------------------------------------- /Day 12/Project Guessing Game/__pycache__/guessing_art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 12/Project Guessing Game/__pycache__/guessing_art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 12/Project Guessing Game/guessing_art.py: -------------------------------------------------------------------------------- 1 | logo = ''' 2 | _____ _______ _ _ _ _ 3 | / ____| |__ __| | | \ | | | | 4 | | | __ _ _ ___ ___ ___ | | | |__ ___ | \| |_ _ _ __ ___ | |__ ___ _ __ 5 | | | |_ | | | |/ _ \/ __/ __| | | | '_ \ / _ \ | . ` | | | | '_ ` _ \| '_ \ / _ \ '__| 6 | | |__| | |_| | __/\__ \__ \ | | | | | | __/ | |\ | |_| | | | | | | |_) | __/ | 7 | \_____|\__,_|\___||___/___/ |_| |_| |_|\___| |_| \_|\__,_|_| |_| |_|_.__/ \___|_| 8 | 9 | 10 | ''' 11 | -------------------------------------------------------------------------------- /Day 13/2.Debugging Odd or Even.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Instructions: 3 | Read this the code in main.py 4 | Spot the problems 🐞. 5 | Modify the code to fix the program. 6 | 7 | Fix the code so that it works and passes the tests when you submit. 8 | ''' 9 | 10 | 11 | ''' 12 | number = int(input("Which number do you want to check?")) 13 | 14 | if number % 2 = 0: 15 | print("This is an even number.") 16 | else: 17 | print("This is an odd number.") 18 | 19 | ''' 20 | #################################### Modified Program #################################### 21 | 22 | number = int(input("Which number do you want to check?")) 23 | 24 | if number % 2 == 0: 25 | print("This is an even number.") 26 | else: 27 | print("This is an odd number.") 28 | -------------------------------------------------------------------------------- /Day 14/__pycache__/game_art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 14/__pycache__/game_art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 14/__pycache__/game_data.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 14/__pycache__/game_data.cpython-37.pyc -------------------------------------------------------------------------------- /Day 14/game_art.py: -------------------------------------------------------------------------------- 1 | logo = """ 2 | __ ___ __ 3 | / / / (_)___ _/ /_ ___ _____ 4 | / /_/ / / __ `/ __ \/ _ \/ ___/ 5 | / __ / / /_/ / / / / __/ / 6 | /_/ ///_/\__, /_/ /_/\___/_/ 7 | / / /____/_ _____ _____ 8 | / / / __ \ | /| / / _ \/ ___/ 9 | / /___/ /_/ / |/ |/ / __/ / 10 | /_____/\____/|__/|__/\___/_/ 11 | """ 12 | 13 | vs = """ 14 | _ __ 15 | | | / /____ 16 | | | / / ___/ 17 | | |/ (__ ) 18 | |___/____(_) 19 | """ 20 | -------------------------------------------------------------------------------- /Day 16/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | # import turtle 2 | 3 | # timmy = turtle.Turtle() 4 | # print(timmy) 5 | # timmy.shape("turtle") 6 | # timmy.color('black', 'green') 7 | # timmy.fd(100) 8 | 9 | # my_screen = turtle.Screen() 10 | # print(my_screen.canvheight) 11 | # my_screen.exitonclick() 12 | 13 | ################################################### 14 | 15 | from prettytable import PrettyTable 16 | table = PrettyTable() 17 | table.add_column("Pokemon Name", ["Pikachu", "Squirtle", "Charmander"]) 18 | table.add_column("Type", ["Electric", "Water", "Fire"]) 19 | 20 | table.align='l' 21 | 22 | print(table) 23 | 24 | -------------------------------------------------------------------------------- /Day 16/Coffee Machine/__pycache__/coffee_maker.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 16/Coffee Machine/__pycache__/coffee_maker.cpython-37.pyc -------------------------------------------------------------------------------- /Day 16/Coffee Machine/__pycache__/menu.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 16/Coffee Machine/__pycache__/menu.cpython-37.pyc -------------------------------------------------------------------------------- /Day 16/Coffee Machine/__pycache__/money_machine.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 16/Coffee Machine/__pycache__/money_machine.cpython-37.pyc -------------------------------------------------------------------------------- /Day 16/Coffee Machine/machine.py: -------------------------------------------------------------------------------- 1 | from menu import Menu, MenuItem 2 | from coffee_maker import CoffeeMaker 3 | from money_machine import MoneyMachine 4 | 5 | money_machine = MoneyMachine() 6 | coffee_maker = CoffeeMaker() 7 | menu = Menu() 8 | is_on = True 9 | 10 | 11 | while is_on: 12 | options = menu.get_items() 13 | choice = input(f'What would you like? ({options}): ') 14 | if choice == "off": 15 | is_on = False 16 | elif choice == "report": 17 | coffee_maker.report() 18 | money_machine.report() 19 | else: 20 | drink = menu.find_drink(choice) 21 | if coffee_maker.is_resource_sufficient(drink) and money_machine.make_payment(drink.cost): 22 | coffee_maker.make_coffee(drink) 23 | -------------------------------------------------------------------------------- /Day 17/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | class User: 2 | def __init__(self, user_id, username): 3 | self.id = user_id 4 | self.username = username 5 | self.followers = 0 6 | self.following = 0 7 | 8 | def follow(self, user): 9 | user.followers += 1 10 | self.following += 1 11 | 12 | 13 | 14 | user_1 = User("001", "Rajdip") 15 | user_2 = User("002", "Deb") 16 | 17 | user_1.follow(user_2) 18 | print(user_1.followers) 19 | print(user_1.following) 20 | print(user_2.followers) 21 | print(user_2.following) 22 | -------------------------------------------------------------------------------- /Day 17/Quiz Game/__pycache__/data.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 17/Quiz Game/__pycache__/data.cpython-37.pyc -------------------------------------------------------------------------------- /Day 17/Quiz Game/__pycache__/question_model.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 17/Quiz Game/__pycache__/question_model.cpython-37.pyc -------------------------------------------------------------------------------- /Day 17/Quiz Game/__pycache__/quiz_brain.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 17/Quiz Game/__pycache__/quiz_brain.cpython-37.pyc -------------------------------------------------------------------------------- /Day 17/Quiz Game/game.py: -------------------------------------------------------------------------------- 1 | from question_model import Question 2 | from data import question_data 3 | from quiz_brain import QuizBrain 4 | 5 | question_bank = [] 6 | for question in question_data: 7 | question_text = question["question"] 8 | question_answer = question["correct_answer"] 9 | new_question = Question(question_text, question_answer) 10 | question_bank.append(new_question) 11 | 12 | quiz = QuizBrain(question_bank) 13 | 14 | while quiz.still_has_questions(): 15 | quiz.next_question() 16 | 17 | print("You've completed the quiz") 18 | print(f"Your final score was: {quiz.score}/{quiz.question_number}") 19 | -------------------------------------------------------------------------------- /Day 17/Quiz Game/question_model.py: -------------------------------------------------------------------------------- 1 | class Question: 2 | 3 | def __init__(self, q_text, q_answer): 4 | self.text = q_text 5 | self.answer = q_answer 6 | -------------------------------------------------------------------------------- /Day 18/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | 2 | from turtle import Screen, Turtle 3 | 4 | timmy_the_turtle = Turtle() 5 | timmy_the_turtle.shape("turtle") 6 | timmy_the_turtle.color("black", "green") 7 | timmy_the_turtle.fd(100) 8 | timmy_the_turtle.right(90) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | screen = Screen() 18 | screen.exitonclick() 19 | 20 | -------------------------------------------------------------------------------- /Day 18/2.Challenge 1.py: -------------------------------------------------------------------------------- 1 | # Draw a Square 2 | 3 | from turtle import Screen, Turtle 4 | 5 | timmy = Turtle() 6 | timmy.shape("turtle") 7 | timmy.color("black", "green") 8 | 9 | 10 | for _ in range(4): 11 | timmy.forward(100) 12 | timmy.right(90) 13 | 14 | 15 | screen = Screen() 16 | screen.exitonclick() 17 | -------------------------------------------------------------------------------- /Day 18/3.Challenge 2.py: -------------------------------------------------------------------------------- 1 | # Draw a dashed line 2 | 3 | from turtle import Screen, Turtle 4 | 5 | timmy = Turtle() 6 | timmy.shape("turtle") 7 | timmy.color("black", "green") 8 | 9 | 10 | for _ in range(15): 11 | timmy.forward(10) 12 | timmy.penup() 13 | timmy.forward(10) 14 | timmy.pendown() 15 | 16 | 17 | screen = Screen() 18 | screen.exitonclick() 19 | -------------------------------------------------------------------------------- /Day 18/4.Challenge 3.py: -------------------------------------------------------------------------------- 1 | # Draw different shape 2 | 3 | from turtle import Screen, Turtle 4 | 5 | timmy = Turtle() 6 | timmy.shape("turtle") 7 | timmy.color("black", "green") 8 | colours = ["red", "green", "blue", "DarkOrchid", "black", "CornflowerBlue", "SeaGreen", "DeepSkyBlue"] 9 | side = 3 10 | 11 | while side <= 10: 12 | timmy.color(colours[side-3]) 13 | for _ in range(side): 14 | timmy.forward(100) 15 | timmy.right(360/side) 16 | side += 1 17 | 18 | 19 | screen = Screen() 20 | screen.exitonclick() 21 | -------------------------------------------------------------------------------- /Day 18/5.Challenge 4.py: -------------------------------------------------------------------------------- 1 | # Generate a random walk 2 | 3 | from turtle import Screen, Turtle 4 | import random 5 | import turtle 6 | 7 | timmy = Turtle() 8 | timmy.shape("turtle") 9 | turtle.colormode(255) 10 | directions = [0, 90, 180, 270] 11 | timmy.pensize(15) 12 | timmy.speed("fastest") 13 | 14 | for _ in range(200): 15 | timmy.color(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) 16 | timmy.forward(30) 17 | timmy.setheading(random.choice(directions)) 18 | 19 | Screen().exitonclick() 20 | -------------------------------------------------------------------------------- /Day 18/6.Challenge 5.py: -------------------------------------------------------------------------------- 1 | # Draw a Spirograph 2 | 3 | from turtle import * 4 | import random 5 | import turtle 6 | 7 | timmy = Turtle() 8 | timmy.shape("turtle") 9 | turtle.colormode(255) 10 | timmy.speed(0) 11 | angle = 5 12 | 13 | for _ in range(72): 14 | timmy.color(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) 15 | timmy.circle(100) 16 | timmy.setheading(angle) 17 | angle += 5 18 | 19 | Screen().exitonclick() 20 | -------------------------------------------------------------------------------- /Day 18/Hirst Painting Project/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 18/Hirst Painting Project/image.jpg -------------------------------------------------------------------------------- /Day 19/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle, Screen 2 | 3 | timmy = Turtle() 4 | screen = Screen() 5 | 6 | def move_forwards(): 7 | timmy.forward(10) 8 | 9 | screen.listen() 10 | screen.onkey(key="space", fun=move_forwards) 11 | screen.exitonclick() 12 | -------------------------------------------------------------------------------- /Day 19/2.Challenge 1.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle, Screen 2 | 3 | timmy = Turtle() 4 | screen = Screen() 5 | 6 | def move_forwards(): 7 | timmy.forward(10) 8 | 9 | def move_backwards(): 10 | timmy.backward(10) 11 | 12 | def turn_left(): 13 | timmy.left(10) 14 | 15 | def turn_right(): 16 | timmy.right(10) 17 | 18 | def clear(): 19 | timmy.clear() 20 | timmy.penup() 21 | timmy.home() 22 | timmy.pendown() 23 | 24 | screen.listen() 25 | screen.onkey(move_forwards, "w") 26 | screen.onkey(move_backwards, "s") 27 | screen.onkey(turn_left, "a") 28 | screen.onkey(turn_right, "d") 29 | screen.onkey(clear, "c") 30 | screen.exitonclick() 31 | -------------------------------------------------------------------------------- /Day 2/1.Data Types.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Write a program that adds the digits in a 2 digit number. e.g. if the input was 35, then the output should be 3 + 5 = 8 3 | ''' 4 | 5 | # 🚨 Don't change the code below 👇 6 | two_digit_number = input("Type a two digit number: ") 7 | # 🚨 Don't change the code above 👆 8 | 9 | #################################### 10 | #Write your code below this line 👇 11 | str1 = str(two_digit_number)[0] 12 | str2 = str(two_digit_number)[1] 13 | print(int(str1)+int(str2)) 14 | -------------------------------------------------------------------------------- /Day 2/2.BMI Calculator.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Write a program that calculates the Body Mass Index (BMI) from a user's weight and height. 4 | ''' 5 | 6 | # 🚨 Don't change the code below 👇 7 | height = input("enter your height in m: ") 8 | weight = input("enter your weight in kg: ") 9 | # 🚨 Don't change the code above 👆 10 | 11 | #Write your code below this line 👇 12 | 13 | print(int(float(weight)/(float(height)*float(height)))) 14 | -------------------------------------------------------------------------------- /Day 2/3.Life in Weeks.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Create a program using maths and f-Strings that tells us how many days, weeks, months we have left if we live until 90 years old. 4 | 5 | It will take your current age as the input and output a message with our time left in this format: 6 | 7 | You have x days, y weeks, and z months left. 8 | 9 | Where x, y and z are replaced with the actual calculated numbers. 10 | ''' 11 | 12 | # 🚨 Don't change the code below 👇 13 | age = input("What is your current age?") 14 | # 🚨 Don't change the code above 👆 15 | 16 | #Write your code below this line 👇 17 | age = int(age) 18 | month = (90*12) - (age*12) 19 | week = (90*52) - (age*52) 20 | day = (90*365) - (age*365) 21 | 22 | print(f"You have {day} days, {week} weeks, and {month} months left.") 23 | -------------------------------------------------------------------------------- /Day 2/Tip Calculator.py: -------------------------------------------------------------------------------- 1 | 2 | # 1. Create a greeting for your program. 3 | # 2. if the bill was ₹150.00, split between 5 pepple, with 12% tip. make it for 10,12,15 percent of tip. 4 | # 3. Each person should pay (150.00/5)*1.12 = 33.6 5 | # 4. Round the result to 2 decimal places = 33.60 6 | 7 | print("Welcome to the tip calculator.") 8 | bill = float(input("What was the total bill? ₹")) 9 | percent = int(input("What percentage tip would you like to give? 10, 12, or 15? ")) 10 | person = int(input("How many people to split the bill? ")) 11 | 12 | bill_with_tip = percent/100 * bill + bill 13 | bill_per_person = bill_with_tip/person 14 | final_amount = "{:.2f}".format(bill_per_person) 15 | 16 | print(f"Each person should pay: ₹{final_amount}") 17 | -------------------------------------------------------------------------------- /Day 20/Snake Game/__pycache__/snake.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 20/Snake Game/__pycache__/snake.cpython-37.pyc -------------------------------------------------------------------------------- /Day 20/Snake Game/__pycache__/snake.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 20/Snake Game/__pycache__/snake.cpython-38.pyc -------------------------------------------------------------------------------- /Day 20/Snake Game/game.py: -------------------------------------------------------------------------------- 1 | from turtle import Screen 2 | from snake import Snake 3 | import time 4 | 5 | screen = Screen() 6 | screen.setup(width=600, height=600) 7 | screen.bgcolor("black") 8 | screen.title("My Snake Game") 9 | screen.tracer(0) 10 | snake = Snake() 11 | 12 | screen.listen() 13 | screen.onkey(snake.up, "Up") 14 | screen.onkey(snake.down, "Down") 15 | screen.onkey(snake.left, "Left") 16 | screen.onkey(snake.right, "Right") 17 | 18 | game_is_on = True 19 | while game_is_on: 20 | screen.update() 21 | time.sleep(0.1) 22 | 23 | snake.move() 24 | 25 | 26 | screen.exitonclick() -------------------------------------------------------------------------------- /Day 21/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | # class Animal: 2 | # def __init__(self): 3 | # self.num_eyes = 2 4 | # 5 | # def breathe(self): 6 | # print("Inhale, Exhale.") 7 | # 8 | # 9 | # class Fish(Animal): 10 | # def __init__(self): 11 | # super().__init__() 12 | # 13 | # def breathe(self): 14 | # super().breathe() 15 | # print("doing this underwater.") 16 | # 17 | # def swim(self): 18 | # print("moving in water.") 19 | # 20 | # nemo = Fish() 21 | # nemo.breathe() 22 | 23 | 24 | ################################################################# 25 | 26 | # SLICING 27 | 28 | piano_keys = ["a", "b", "c", "d", "e", "f", "g"] 29 | piano_tuple = ("do", "re", "mi", "fa", "so", "la", "ti") 30 | 31 | print(piano_tuple[2:5]) 32 | -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/food.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/food.cpython-37.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/food.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/food.cpython-38.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/scoreboard.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/scoreboard.cpython-37.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/scoreboard.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/scoreboard.cpython-38.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/snake.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/snake.cpython-37.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/__pycache__/snake.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 21/Snake Game/__pycache__/snake.cpython-38.pyc -------------------------------------------------------------------------------- /Day 21/Snake Game/food.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | import random 3 | 4 | 5 | class Food(Turtle): 6 | def __init__(self): 7 | super().__init__() 8 | self.shape("circle") 9 | self.penup() 10 | self.shapesize(stretch_len=0.5, stretch_wid=0.5) 11 | self.color("blue") 12 | self.speed("fastest") 13 | self.refresh() 14 | 15 | def refresh(self): 16 | random_x = random.randint(-280, 280) 17 | random_y = random.randint(-280, 280) 18 | self.goto(random_x, random_y) 19 | -------------------------------------------------------------------------------- /Day 21/Snake Game/scoreboard.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | 3 | ALIGNMENT = "center" 4 | FONT = ("Courier", 20, "normal") 5 | 6 | 7 | class Scoreboard(Turtle): 8 | def __init__(self): 9 | super().__init__() 10 | self.score = 0 11 | self.color("white") 12 | self.penup() 13 | self.goto(0, 270) 14 | self.hideturtle() 15 | self.update_scoreboard() 16 | 17 | def update_scoreboard(self): 18 | self.write(f"Score: {self.score}", align=ALIGNMENT, font=FONT) 19 | 20 | def game_over(self): 21 | self.goto(0, 0) 22 | self.write("Game Over", align=ALIGNMENT, font=FONT) 23 | 24 | def increase_score(self): 25 | self.score += 1 26 | self.clear() 27 | self.update_scoreboard() 28 | -------------------------------------------------------------------------------- /Day 22/Pong Game/__pycache__/ball.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 22/Pong Game/__pycache__/ball.cpython-38.pyc -------------------------------------------------------------------------------- /Day 22/Pong Game/__pycache__/paddle.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 22/Pong Game/__pycache__/paddle.cpython-38.pyc -------------------------------------------------------------------------------- /Day 22/Pong Game/__pycache__/scoreboard.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 22/Pong Game/__pycache__/scoreboard.cpython-38.pyc -------------------------------------------------------------------------------- /Day 22/Pong Game/ball.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | 3 | 4 | class Ball(Turtle): 5 | def __init__(self): 6 | super().__init__() 7 | self.shape("circle") 8 | self.color("white") 9 | self.penup() 10 | self.x_move = 10 11 | self.y_move = 10 12 | self.move_speed = 0.1 13 | 14 | def move(self): 15 | new_x = self.xcor() + self.x_move 16 | new_y = self.ycor() + self.y_move 17 | self.goto(new_x, new_y) 18 | 19 | def bounce_y(self): 20 | self.y_move *= -1 21 | 22 | def bounce_x(self): 23 | self.x_move *= -1 24 | self.move_speed *= 0.9 25 | 26 | def reset_position(self): 27 | self.goto(0, 0) 28 | self.move_speed = 0.1 29 | self.bounce_x() 30 | -------------------------------------------------------------------------------- /Day 22/Pong Game/paddle.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | 3 | 4 | class Paddle(Turtle): 5 | def __init__(self, position): 6 | super().__init__() 7 | self.shape("square") 8 | self.color("white") 9 | self.shapesize(stretch_wid=5, stretch_len=1) 10 | self.penup() 11 | self.goto(position) 12 | 13 | def go_up(self): 14 | new_y = self.ycor() + 20 15 | self.goto(self.xcor(), new_y) 16 | 17 | def go_down(self): 18 | new_y = self.ycor() - 20 19 | self.goto(self.xcor(), new_y) 20 | -------------------------------------------------------------------------------- /Day 22/Pong Game/scoreboard.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | 3 | 4 | class Scoreboard(Turtle): 5 | 6 | def __init__(self): 7 | super().__init__() 8 | self.color("white") 9 | self.penup() 10 | self.hideturtle() 11 | self.l_score = 0 12 | self.r_score = 0 13 | self.update_scoreboard() 14 | 15 | def update_scoreboard(self): 16 | self.clear() 17 | self.goto(-100, 200) 18 | self.write(self.l_score, align="center", font=("Courier", 80, "normal")) 19 | self.goto(100, 200) 20 | self.write(self.r_score, align="center", font=("Courier", 80, "normal")) 21 | 22 | def l_point(self): 23 | self.l_score += 1 24 | self.update_scoreboard() 25 | 26 | def r_point(self): 27 | self.r_score += 1 28 | self.update_scoreboard() 29 | 30 | -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/car_manager.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/car_manager.cpython-37.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/car_manager.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/car_manager.cpython-38.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/player.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/player.cpython-37.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/player.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/player.cpython-38.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/scoreboard.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/scoreboard.cpython-37.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/__pycache__/scoreboard.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 23/Turtle Crossing Game/__pycache__/scoreboard.cpython-38.pyc -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/car_manager.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | import random 3 | 4 | COLORS = ["red", "orange", "yellow", "green", "blue", "purple"] 5 | STARTING_MOVE_DISTANCE = 5 6 | MOVE_INCREMENT = 10 7 | 8 | 9 | class CarManager: 10 | def __init__(self): 11 | self.all_cars = [] 12 | self.car_speed = STARTING_MOVE_DISTANCE 13 | 14 | def create_car(self): 15 | random_chance = random.randint(1, 6) 16 | if random_chance == 1: 17 | new_car = Turtle(shape="square") 18 | new_car.shapesize(stretch_wid=1, stretch_len=2) 19 | new_car.penup() 20 | new_car.color(random.choice(COLORS)) 21 | random_y = random.randint(-250, 250) 22 | new_car.goto(300, random_y) 23 | self.all_cars.append(new_car) 24 | 25 | def move_cars(self): 26 | for car in self.all_cars: 27 | car.backward(self.car_speed) 28 | 29 | def level_up(self): 30 | self.car_speed += MOVE_INCREMENT 31 | 32 | -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/player.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | STARTING_POSITION = (0, -280) 3 | MOVE_DISTANCE = 10 4 | FINISH_LINE_Y = 280 5 | 6 | 7 | class Player(Turtle): 8 | def __init__(self): 9 | super().__init__() 10 | self.shape("turtle") 11 | self.color("black") 12 | self.penup() 13 | self.setheading(90) 14 | self.go_to_start() 15 | 16 | def go_up(self): 17 | self.forward(MOVE_DISTANCE) 18 | 19 | # def go_down(self): 20 | # new_y = self.ycor() - MOVE_DISTANCE 21 | # self.goto(self.xcor(), new_y) 22 | 23 | def go_to_start(self): 24 | self.goto(STARTING_POSITION) 25 | 26 | def is_finish(self): 27 | if self.ycor() > FINISH_LINE_Y: 28 | return True 29 | else: 30 | return False 31 | -------------------------------------------------------------------------------- /Day 23/Turtle Crossing Game/scoreboard.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | FONT = ("Courier", 24, "normal") 3 | 4 | 5 | class Scoreboard(Turtle): 6 | def __init__(self): 7 | super().__init__() 8 | self.level = 1 9 | self.hideturtle() 10 | self.penup() 11 | self.goto(-280, 250) 12 | self.update_scoreboard() 13 | 14 | def update_scoreboard(self): 15 | self.clear() 16 | self.write(f"Level: {self.level}", align="left", font=FONT) 17 | 18 | def increase_level(self): 19 | self.level += 1 20 | self.update_scoreboard() 21 | 22 | def game_over(self): 23 | self.goto(0, 0) 24 | self.write(f"GAME OVER", align="center", font=FONT) 25 | 26 | -------------------------------------------------------------------------------- /Day 24/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | # with open("my_file.txt") as file: 2 | # contents = file.read() 3 | # print(contents) 4 | 5 | 6 | # with open("my_file.txt", mode="a") as file: 7 | # file.write("\nNew text.") 8 | 9 | # with open("new_file.txt", mode="w") as file: 10 | # file.write("New text.") 11 | 12 | # with open("C:/Users/user/Desktop/new_file.txt", mode="w") as file: 13 | # file.write("New text.") 14 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Input/Letters/starting_letter.txt: -------------------------------------------------------------------------------- 1 | Dear [name], 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Input/Names/invited_names.txt: -------------------------------------------------------------------------------- 1 | Aang 2 | Zuko 3 | Appa 4 | Katara 5 | Sokka 6 | Momo 7 | Uncle Iroh 8 | Toph -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/example.txt: -------------------------------------------------------------------------------- 1 | Dear Aang, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Aang.txt: -------------------------------------------------------------------------------- 1 | Dear Aang, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Appa.txt: -------------------------------------------------------------------------------- 1 | Dear Appa, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Katara.txt: -------------------------------------------------------------------------------- 1 | Dear Katara, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Momo.txt: -------------------------------------------------------------------------------- 1 | Dear Momo, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Sokka.txt: -------------------------------------------------------------------------------- 1 | Dear Sokka, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Toph.txt: -------------------------------------------------------------------------------- 1 | Dear Toph, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Uncle Iroh.txt: -------------------------------------------------------------------------------- 1 | Dear Uncle Iroh, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Mail Merge Project/Output/ReadyToSend/letter_for_Zuko.txt: -------------------------------------------------------------------------------- 1 | Dear Zuko, 2 | 3 | You are invited to my birthday this Saturday. 4 | 5 | Hope you can make it! 6 | 7 | Rajdip 8 | -------------------------------------------------------------------------------- /Day 24/Snake Game/__pycache__/food.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 24/Snake Game/__pycache__/food.cpython-38.pyc -------------------------------------------------------------------------------- /Day 24/Snake Game/__pycache__/scoreboard.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 24/Snake Game/__pycache__/scoreboard.cpython-38.pyc -------------------------------------------------------------------------------- /Day 24/Snake Game/__pycache__/snake.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 24/Snake Game/__pycache__/snake.cpython-38.pyc -------------------------------------------------------------------------------- /Day 24/Snake Game/food.py: -------------------------------------------------------------------------------- 1 | from turtle import Turtle 2 | import random 3 | 4 | 5 | class Food(Turtle): 6 | 7 | def __init__(self): 8 | super().__init__() 9 | self.shape("circle") 10 | self.penup() 11 | self.shapesize(stretch_len=0.5, stretch_wid=0.5) 12 | self.color("blue") 13 | self.speed("fastest") 14 | self.refresh() 15 | 16 | def refresh(self): 17 | random_x = random.randint(-280, 280) 18 | random_y = random.randint(-280, 280) 19 | self.goto(random_x, random_y) 20 | -------------------------------------------------------------------------------- /Day 24/Snake Game/score.txt: -------------------------------------------------------------------------------- 1 | 10 -------------------------------------------------------------------------------- /Day 24/my_file.txt: -------------------------------------------------------------------------------- 1 | Hello, my name is Rajdip. 2 | I am 20 years old. 3 | My favourite food is chicken. 4 | New text. 5 | New text. -------------------------------------------------------------------------------- /Day 24/new_file.txt: -------------------------------------------------------------------------------- 1 | New text. -------------------------------------------------------------------------------- /Day 25/2.Day Exercise2.py: -------------------------------------------------------------------------------- 1 | import pandas 2 | 3 | data = pandas.read_csv("2018-Central-Park-Squirrel-Census-Squirrel-Data.csv") 4 | 5 | gray_squirrels = len(data[data["Primary Fur Color"] == "Gray"]) 6 | cinnamon_squirrels = len(data[data["Primary Fur Color"] == "Cinnamon"]) 7 | black_squirrels = len(data[data["Primary Fur Color"] == "Black"]) 8 | 9 | data_dict = { 10 | "Fur Color": ["Gray", "Cinnamon", "Black"], 11 | "Count": [gray_squirrels, cinnamon_squirrels, black_squirrels] 12 | } 13 | 14 | df = pandas.DataFrame(data_dict) 15 | df.to_csv("squirrel_count.csv") 16 | -------------------------------------------------------------------------------- /Day 25/US States Game/blank_states_img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 25/US States Game/blank_states_img.gif -------------------------------------------------------------------------------- /Day 25/US States Game/states_to_learn.csv: -------------------------------------------------------------------------------- 1 | ,0 2 | 0,Alabama 3 | 1,Alaska 4 | 2,Arizona 5 | 3,Arkansas 6 | 4,California 7 | 5,Colorado 8 | 6,Connecticut 9 | 7,Delaware 10 | 8,Idaho 11 | 9,Illinois 12 | 10,Iowa 13 | 11,Kansas 14 | 12,Kentucky 15 | 13,Louisiana 16 | 14,Maine 17 | 15,Maryland 18 | 16,Massachusetts 19 | 17,Michigan 20 | 18,Minnesota 21 | 19,Mississippi 22 | 20,Missouri 23 | 21,Montana 24 | 22,Nebraska 25 | 23,Nevada 26 | 24,New Hampshire 27 | 25,New Jersey 28 | 26,New Mexico 29 | 27,North Carolina 30 | 28,North Dakota 31 | 29,Ohio 32 | 30,Oklahoma 33 | 31,Oregon 34 | 32,Pennsylvania 35 | 33,Rhode Island 36 | 34,South Carolina 37 | 35,South Dakota 38 | 36,Tennessee 39 | 37,Texas 40 | 38,Utah 41 | 39,Vermont 42 | 40,Virginia 43 | 41,Washington 44 | 42,West Virginia 45 | 43,Wisconsin 46 | 44,Wyoming 47 | -------------------------------------------------------------------------------- /Day 25/new_data.csv: -------------------------------------------------------------------------------- 1 | ,students,scores 2 | 0,Priyanshu,67 3 | 1,Joy,56 4 | 2,Rajdip,82 5 | -------------------------------------------------------------------------------- /Day 25/squirrel_count.csv: -------------------------------------------------------------------------------- 1 | ,Fur Color,Count 2 | 0,Gray,2473 3 | 1,Cinnamon,392 4 | 2,Black,103 5 | -------------------------------------------------------------------------------- /Day 25/weather-data.csv: -------------------------------------------------------------------------------- 1 | day,temp,condition 2 | Monday,12,Sunny 3 | Tuesday,14,Rain 4 | Wednesday,15,Rain 5 | Thursday,14,Cloudy 6 | Friday,21,Sunny 7 | Saturday,22,Sunny 8 | Sunday,24,Sunny -------------------------------------------------------------------------------- /Day 26/2.Squaring Numbers.py: -------------------------------------------------------------------------------- 1 | # You are going to write a List Comprehension to create a new list called squared_numbers. 2 | # This new list should contain every number in the list numbers but each number should be squared. 3 | 4 | numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 5 | # 🚨 Do Not Change the code above 👆 6 | 7 | # Write your 1 line code 👇 below: 8 | 9 | squared_numbers = [number * number for number in numbers] 10 | 11 | # Write your code 👆 above: 12 | 13 | print(squared_numbers) 14 | -------------------------------------------------------------------------------- /Day 26/3.Data Overlap.py: -------------------------------------------------------------------------------- 1 | # You are going to write a List Comprehension to create a new list called result. 2 | # This new list should only contain the even numbers from the list numbers. 3 | 4 | # DO NOT modify the List numbers directly. Try to use List Comprehension instead of a Loop. 5 | 6 | numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 7 | # 🚨 Do Not Change the code above 8 | 9 | # Write your 1 line code 👇 below: 10 | 11 | result = [number for number in numbers if number % 2 == 0] 12 | 13 | # Write your code 👆 above: 14 | 15 | print(result) 16 | -------------------------------------------------------------------------------- /Day 26/4.Dictionary Comprehension 1.py: -------------------------------------------------------------------------------- 1 | # 💪 This exercise is HARD 2 | 3 | # Take a look inside file1.txt and file2.txt. They each contain a bunch of numbers, each number on a new line. 4 | 5 | # You are going to create a list called result which contains the numbers that are common in both files. 6 | 7 | with open("file1.txt") as file1: 8 | file_1_data = file1.readlines() 9 | 10 | with open("file2.txt") as file2: 11 | file_2_data = file2.readlines() 12 | 13 | result = [int(num) for num in file_1_data if num in file_2_data] 14 | 15 | # Write your code above 👆 16 | 17 | print(result) 18 | -------------------------------------------------------------------------------- /Day 26/5.Dictionary Comprehension 2.py: -------------------------------------------------------------------------------- 1 | # You are going to use Dictionary Comprehension to create a dictionary called result that takes each word 2 | # in the given sentence and calculates the number of letters in each word. 3 | 4 | # Try Googling to find out how to convert a sentence into a list of words. 5 | 6 | # Do NOT Create a dictionary directly. Try to use Dictionary Comprehension instead of a Loop. 7 | 8 | sentence = "What is the Airspeed Velocity of an Unladen Swallow?" 9 | # Don't change code above 👆 10 | 11 | # Write your code below: 12 | 13 | result = {count: len(count) for count in sentence.split()} 14 | 15 | print(result) 16 | -------------------------------------------------------------------------------- /Day 26/NATO alphabet project/main.py: -------------------------------------------------------------------------------- 1 | # Keyword Method with iterrows() 2 | # {new_key:new_value for (index, row) in df.iterrows()} 3 | 4 | import pandas 5 | 6 | data = pandas.read_csv("nato_phonetic_alphabet.csv") 7 | # Create a dictionary in this format: 8 | phonetic_dict = {row.letter: row.code for (index, row) in data.iterrows()} 9 | print(phonetic_dict) 10 | 11 | # Create a list of the phonetic code words from a word that the user inputs. 12 | 13 | word = input("Enter a word: ").upper() 14 | output_list = [phonetic_dict[letter] for letter in word] 15 | print(output_list) 16 | -------------------------------------------------------------------------------- /Day 26/NATO alphabet project/nato_phonetic_alphabet.csv: -------------------------------------------------------------------------------- 1 | letter,code 2 | A,Alfa 3 | B,Bravo 4 | C,Charlie 5 | D,Delta 6 | E,Echo 7 | F,Foxtrot 8 | G,Golf 9 | H,Hotel 10 | I,India 11 | J,Juliet 12 | K,Kilo 13 | L,Lima 14 | M,Mike 15 | N,November 16 | O,Oscar 17 | P,Papa 18 | Q,Quebec 19 | R,Romeo 20 | S,Sierra 21 | T,Tango 22 | U,Uniform 23 | V,Victor 24 | W,Whiskey 25 | X,X-ray 26 | Y,Yankee 27 | Z,Zulu -------------------------------------------------------------------------------- /Day 26/file1.txt: -------------------------------------------------------------------------------- 1 | 3 2 | 6 3 | 5 4 | 8 5 | 33 6 | 12 7 | 7 8 | 4 9 | 72 10 | 2 11 | 42 12 | 13 13 | -------------------------------------------------------------------------------- /Day 26/file2.txt: -------------------------------------------------------------------------------- 1 | 3 2 | 6 3 | 13 4 | 5 5 | 7 6 | 89 7 | 12 8 | 3 9 | 33 10 | 34 11 | 1 12 | 344 13 | 42 14 | -------------------------------------------------------------------------------- /Day 27/2.Day Exercise.py: -------------------------------------------------------------------------------- 1 | from tkinter import * 2 | 3 | 4 | def button_clicked(): 5 | print("I got clicked") 6 | new_text = nw_input.get() 7 | my_label.config(text=new_text) 8 | 9 | 10 | window = Tk() 11 | window.title("My First GUI Program") 12 | window.minsize(width=500, height=300) 13 | window.config(padx=100, pady=200) 14 | 15 | # Label 16 | my_label = Label(text="I am a Label", font=("Arial", 24, "bold")) 17 | my_label.config(text="New Text") 18 | my_label.grid(column=0, row=0) 19 | my_label.config(padx=50, pady=50) 20 | 21 | # Button 22 | button = Button(text="Click Me", command=button_clicked) 23 | button2 = Button(text="New Button") 24 | button.grid(column=1, row=1) 25 | button2.grid(column=2, row=0) 26 | 27 | # Entry 28 | nw_input = Entry(width=10) 29 | print(nw_input.get()) 30 | nw_input.grid(column=3, row=2) 31 | 32 | 33 | window.mainloop() 34 | -------------------------------------------------------------------------------- /Day 27/Mile to Km Converter/converter.py: -------------------------------------------------------------------------------- 1 | from tkinter import * 2 | 3 | 4 | def miles_to_km(): 5 | miles = float(miles_input.get()) 6 | km = miles * 1.609344 7 | km_result_label.config(text=f"{km}") 8 | 9 | 10 | window = Tk() 11 | window.title("Mile to Km Converter") 12 | window.config(padx=50, pady=50) 13 | 14 | miles_input = Entry(width=20) 15 | miles_input.grid(column=1, row=0) 16 | 17 | miles_label = Label(text="Miles", font=("Arial", 12)) 18 | miles_label.grid(column=2, row=0) 19 | 20 | is_equal_label = Label(text="is equal to", font=("Arial", 12)) 21 | is_equal_label.grid(column=0, row=1) 22 | 23 | km_result_label = Label(text="0", font=("Arial", 12)) 24 | km_result_label.grid(column=1, row=1) 25 | 26 | km_label = Label(text="Km", font=("Arial", 12)) 27 | km_label.grid(column=2, row=1) 28 | 29 | calculate_button = Button(text="Calculate", command=miles_to_km, font=("Arial", 12)) 30 | calculate_button.grid(column=1, row=2) 31 | 32 | 33 | window.mainloop() 34 | -------------------------------------------------------------------------------- /Day 27/playground.py: -------------------------------------------------------------------------------- 1 | # def add(*args): 2 | # sum_all_number = 0 3 | # for n in args: 4 | # sum_all_number += n 5 | # return sum_all_number 6 | # 7 | # 8 | # print(add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) 9 | 10 | 11 | # def calculate(n, **kwargs): 12 | # print(kwargs) 13 | # # for key, value in kwargs.items(): 14 | # # print(key) 15 | # # print(value) 16 | # n += kwargs["add"] 17 | # n *= kwargs["multiply"] 18 | # print(n) 19 | # 20 | # 21 | # calculate(2, add=3, multiply=5) 22 | 23 | 24 | class Car: 25 | def __init__(self, **kw): 26 | self.make = kw.get("make") 27 | self.model = kw.get("model") 28 | self.colour = kw.get("colour") 29 | self.seats = kw.get("seats") 30 | 31 | 32 | my_car = Car(make="Nissan", model="Skyline") 33 | print(my_car.model) 34 | -------------------------------------------------------------------------------- /Day 28/Pomodoro Project/tomato.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 28/Pomodoro Project/tomato.png -------------------------------------------------------------------------------- /Day 29/Password Manager Project/data.txt: -------------------------------------------------------------------------------- 1 | rajdipdas.in | rajdip@gmail.com | 3%%V8a0#qy#muG8c 2 | -------------------------------------------------------------------------------- /Day 29/Password Manager Project/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 29/Password Manager Project/logo.png -------------------------------------------------------------------------------- /Day 3/1.Odd or Even.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Write a program that works out whether if a given number is an odd or even number. 3 | 4 | Even numbers can be divided by 2 with no remainder. 5 | 6 | e.g. 86 is even because 86 ÷ 2 = 43 7 | ''' 8 | 9 | # 🚨 Don't change the code below 👇 10 | number = int(input("Which number do you want to check? ")) 11 | # 🚨 Don't change the code above 👆 12 | 13 | #Write your code below this line 👇 14 | 15 | if (number % 2 == 0): 16 | print("This is an even number.") 17 | else: 18 | print("This is an odd number.") 19 | -------------------------------------------------------------------------------- /Day 3/3.Leap Year.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Write a program that works out whether if a given year is a leap year. 4 | A normal year has 365 days, leap years have 366, with an extra day in February. 5 | The reason why we have leap years is really fascinating, 6 | ''' 7 | 8 | # 🚨 Don't change the code below 👇 9 | year = int(input("Which year do you want to check? ")) 10 | # 🚨 Don't change the code above 👆 11 | 12 | #Write your code below this line 👇 13 | 14 | if(year % 4 == 0 or year % 400 == 0): 15 | print("Leap year.") 16 | else: 17 | print("Not leap year.") 18 | -------------------------------------------------------------------------------- /Day 3/4.Pizza Order Practice.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Based on a user's order, work out their final bill. 4 | 5 | Small Pizza: $15 6 | 7 | Medium Pizza: $20 8 | 9 | Large Pizza: $25 10 | 11 | Pepperoni for Small Pizza: +$2 12 | 13 | Pepperoni for Medium or Large Pizza: +$3 14 | 15 | Extra cheese for any size pizza: + $1 16 | ''' 17 | 18 | # 🚨 Don't change the code below 👇 19 | print("Welcome to Python Pizza Deliveries!") 20 | size = input("What size pizza do you want? S, M, or L ") 21 | add_pepperoni = input("Do you want pepperoni? Y or N ") 22 | extra_cheese = input("Do you want extra cheese? Y or N ") 23 | # 🚨 Don't change the code above 👆 24 | 25 | #Write your code below this line 👇 26 | bill = 0 27 | 28 | if size == 'S': 29 | bill += 15 30 | elif size == 'M': 31 | bill += 20 32 | elif size == 'L': 33 | bill += 25 34 | 35 | if add_pepperoni == 'Y': 36 | if size == 'S': 37 | bill += 2 38 | else: 39 | bill += 3 40 | 41 | if extra_cheese == 'Y': 42 | bill += 1 43 | 44 | print(f"Your final bill is: ${bill}.") 45 | -------------------------------------------------------------------------------- /Day 30/2.IndexError Handling.py: -------------------------------------------------------------------------------- 1 | # fruits = ["Apple", "Pear", "Orange"] 2 | # 3 | # # Catch the exception and make sure the code runs without crashing. 4 | # 5 | # 6 | # def make_pie(index): 7 | # fruit = fruits[index] 8 | # print(fruit + " pie") 9 | # 10 | # 11 | # make_pie(4) 12 | 13 | ####################################################################### 14 | 15 | fruits = ["Apple", "Pear", "Orange"] 16 | 17 | # Catch the exception and make sure the code runs without crashing. 18 | 19 | 20 | def make_pie(index): 21 | try: 22 | fruit = fruits[index] 23 | except IndexError: 24 | print("Fruit pie") 25 | else: 26 | print(fruit + " pie") 27 | 28 | 29 | make_pie(4) 30 | -------------------------------------------------------------------------------- /Day 30/3.KeyError Handling.py: -------------------------------------------------------------------------------- 1 | # facebook_posts = [ 2 | # {'Likes': 21, 'Comments': 2}, 3 | # {'Likes': 13, 'Comments': 2, 'Shares': 1}, 4 | # {'Likes': 33, 'Comments': 8, 'Shares': 3}, 5 | # {'Comments': 4, 'Shares': 2}, 6 | # {'Comments': 1, 'Shares': 1}, 7 | # {'Likes': 19, 'Comments': 3} 8 | # ] 9 | # 10 | # total_likes = 0 11 | # 12 | # for post in facebook_posts: 13 | # total_likes = total_likes + post['Likes'] 14 | # 15 | # 16 | # print(total_likes) 17 | 18 | #################################################################### 19 | 20 | facebook_posts = [ 21 | {'Likes': 21, 'Comments': 2}, 22 | {'Likes': 13, 'Comments': 2, 'Shares': 1}, 23 | {'Likes': 33, 'Comments': 8, 'Shares': 3}, 24 | {'Comments': 4, 'Shares': 2}, 25 | {'Comments': 1, 'Shares': 1}, 26 | {'Likes': 19, 'Comments': 3} 27 | ] 28 | 29 | total_likes = 0 30 | 31 | for post in facebook_posts: 32 | try: 33 | total_likes = total_likes + post['Likes'] 34 | except KeyError: 35 | pass 36 | 37 | 38 | print(total_likes) 39 | -------------------------------------------------------------------------------- /Day 30/Exception Handling NATO Alphabet Project/main.py: -------------------------------------------------------------------------------- 1 | import pandas 2 | 3 | data = pandas.read_csv("nato_phonetic_alphabet.csv") 4 | 5 | phonetic_dict = {row.letter: row.code for (index, row) in data.iterrows()} 6 | print(phonetic_dict) 7 | 8 | 9 | def generate_phonetic(): 10 | word = input("Enter a word: ").upper() 11 | try: 12 | output_list = [phonetic_dict[letter] for letter in word] 13 | except KeyError: 14 | print("Sorry, only letters in the alphabet please.") 15 | generate_phonetic() 16 | else: 17 | print(output_list) 18 | 19 | 20 | generate_phonetic() 21 | -------------------------------------------------------------------------------- /Day 30/Exception Handling NATO Alphabet Project/nato_phonetic_alphabet.csv: -------------------------------------------------------------------------------- 1 | letter,code 2 | A,Alfa 3 | B,Bravo 4 | C,Charlie 5 | D,Delta 6 | E,Echo 7 | F,Foxtrot 8 | G,Golf 9 | H,Hotel 10 | I,India 11 | J,Juliet 12 | K,Kilo 13 | L,Lima 14 | M,Mike 15 | N,November 16 | O,Oscar 17 | P,Papa 18 | Q,Quebec 19 | R,Romeo 20 | S,Sierra 21 | T,Tango 22 | U,Uniform 23 | V,Victor 24 | W,Whiskey 25 | X,X-ray 26 | Y,Yankee 27 | Z,Zulu -------------------------------------------------------------------------------- /Day 30/Password Manager Update Project/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "rajdipdas.in": { 3 | "email": "rajdip@gmail.com", 4 | "password": "K%+yA40tbgj(hW" 5 | }, 6 | "Amazon": { 7 | "email": "rajdip@gmail.com", 8 | "password": "c0hgnt(A47%)mXR" 9 | }, 10 | "Flipkart": { 11 | "email": "rajdip@gmail.com", 12 | "password": "9Sn&Jfl0%hr8(eK8j" 13 | } 14 | } -------------------------------------------------------------------------------- /Day 30/Password Manager Update Project/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 30/Password Manager Update Project/logo.png -------------------------------------------------------------------------------- /Day 30/a_file.txt: -------------------------------------------------------------------------------- 1 | Something -------------------------------------------------------------------------------- /Day 31/Flash Card App/images/card_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 31/Flash Card App/images/card_back.png -------------------------------------------------------------------------------- /Day 31/Flash Card App/images/card_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 31/Flash Card App/images/card_front.png -------------------------------------------------------------------------------- /Day 31/Flash Card App/images/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 31/Flash Card App/images/right.png -------------------------------------------------------------------------------- /Day 31/Flash Card App/images/wrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 31/Flash Card App/images/wrong.png -------------------------------------------------------------------------------- /Day 32/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | # import smtplib 2 | # 3 | # my_email = "abc@gmail.com" # Enter Your Email 4 | # password = "*********" # Enter Your Password 5 | # 6 | # with smtplib.SMTP("smtp.gmail.com") as connection: 7 | # connection.starttls() 8 | # connection.login(user=my_email, password=password) 9 | # connection.sendmail( 10 | # from_addr=my_email, to_addrs="dasrajdip@gmail.com", 11 | # msg="Subject:Hello\n\nThis is the body of my email." 12 | # ) 13 | 14 | ############################################################ 15 | 16 | import datetime as dt 17 | 18 | now = dt.datetime.now() 19 | year = now.year 20 | month = now.month 21 | day_of_week = now.weekday() 22 | print(day_of_week) 23 | 24 | date_of_birth = dt.datetime(year=2001, month=8, day=30, hour=4) 25 | print(date_of_birth) 26 | -------------------------------------------------------------------------------- /Day 32/Automated Birthday Wisher/birthdays.csv: -------------------------------------------------------------------------------- 1 | name,email,year,month,day 2 | Rajdip,rajdip78@gmail.com,2001,8,30 3 | Debodip,rdas8@gmail.com,2006,12,8 4 | Aritra,aroy@gmail.com,1976,1,29 -------------------------------------------------------------------------------- /Day 32/Automated Birthday Wisher/letter_templates/letter_1.txt: -------------------------------------------------------------------------------- 1 | Dear [NAME], 2 | 3 | Happy birthday! 4 | 5 | All the best for the year! 6 | 7 | Rajdip Das -------------------------------------------------------------------------------- /Day 32/Automated Birthday Wisher/letter_templates/letter_2.txt: -------------------------------------------------------------------------------- 1 | Hey [NAME], 2 | 3 | Happy birthday! Have a wonderful time today and eat lots of cake!😄 4 | 5 | Lots of love, 6 | 7 | Rajdip Das -------------------------------------------------------------------------------- /Day 32/Automated Birthday Wisher/letter_templates/letter_3.txt: -------------------------------------------------------------------------------- 1 | Dear [NAME], 2 | 3 | It's your birthday! Have a great day! 4 | 5 | All my love, 6 | 7 | Rajdip Das -------------------------------------------------------------------------------- /Day 32/Motivational Quotes Sender/motivation.py: -------------------------------------------------------------------------------- 1 | import smtplib 2 | import datetime as dt 3 | import random 4 | 5 | MY_EMAIL = "abc@gmail.com" # Enter Your Email 6 | MY_PASSWORD = "********" # Enter Your Password 7 | 8 | now = dt.datetime.now() 9 | weekday = now.weekday() 10 | day_name = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] 11 | 12 | for day in range(0, 7): 13 | if weekday == day: 14 | with open("quotes.txt") as quote_file: 15 | all_quotes = quote_file.readlines() 16 | quote = random.choice(all_quotes) 17 | 18 | print(quote) 19 | with smtplib.SMTP("smtp.gmail.com") as connection: 20 | connection.starttls() 21 | connection.login(user=MY_EMAIL, password=MY_PASSWORD) 22 | connection.sendmail( 23 | from_addr=MY_EMAIL, 24 | to_addrs="dasrajdip@gmail.com", 25 | msg=f"Subject:{day_name[day]} Motivation\n\n{quote}" 26 | ) 27 | -------------------------------------------------------------------------------- /Day 33/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from datetime import datetime 3 | 4 | # response = requests.get(url="http://api.open-notify.org/iss-now.json") 5 | # response.raise_for_status() 6 | # data = response.json() 7 | # 8 | # longitude = data["iss_position"]["longitude"] 9 | # latitude = data["iss_position"]["latitude"] 10 | # 11 | # iss_position = (longitude, latitude) 12 | # 13 | # print(iss_position) 14 | 15 | ############################################################################ 16 | 17 | MY_LAT = 26.323870 18 | MY_LONG = 89.450996 19 | 20 | parameters = { 21 | # "lat": MY_LAT, 22 | # "lng": MY_LONG, 23 | "formatted": 0 24 | } 25 | response = requests.get("https://api.sunrise-sunset.org/json", params=parameters) 26 | response.raise_for_status() 27 | data = response.json() 28 | sunrise = data["results"]["sunrise"].split("T")[1].split(":")[0] 29 | sunset = data["results"]['sunset'].split("T")[1].split(":")[0] 30 | 31 | print(sunrise) 32 | print(sunset) 33 | 34 | time_now = datetime.now() 35 | print(time_now.hour) 36 | -------------------------------------------------------------------------------- /Day 33/Challenge Kanye Quotes/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 33/Challenge Kanye Quotes/background.png -------------------------------------------------------------------------------- /Day 33/Challenge Kanye Quotes/kanye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 33/Challenge Kanye Quotes/kanye.png -------------------------------------------------------------------------------- /Day 33/Challenge Kanye Quotes/kanye.py: -------------------------------------------------------------------------------- 1 | from tkinter import * 2 | import requests 3 | 4 | 5 | def get_quote(): 6 | response = requests.get("https://api.kanye.rest") 7 | response.raise_for_status() 8 | data = response.json() 9 | quote = data["quote"] 10 | canvas.itemconfig(quote_text, text=quote) 11 | 12 | 13 | window = Tk() 14 | window.title("Kanye Says...") 15 | window.config(padx=50, pady=50) 16 | 17 | canvas = Canvas(width=300, height=414) 18 | background_img = PhotoImage(file="background.png") 19 | canvas.create_image(150, 207, image=background_img) 20 | quote_text = canvas.create_text(150, 207, text="Kanye Quote Goes HERE", width=250, font=("Arial", 30, "bold"), 21 | fill="white") 22 | 23 | canvas.grid(row=0, column=0) 24 | 25 | kanye_img = PhotoImage(file="kanye.png") 26 | kanye_button = Button(image=kanye_img, highlightthickness=0, command=get_quote) 27 | kanye_button.grid(row=1, column=0) 28 | 29 | 30 | window.mainloop() 31 | -------------------------------------------------------------------------------- /Day 34/Quizzler App/__pycache__/data.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/__pycache__/data.cpython-37.pyc -------------------------------------------------------------------------------- /Day 34/Quizzler App/__pycache__/question_model.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/__pycache__/question_model.cpython-37.pyc -------------------------------------------------------------------------------- /Day 34/Quizzler App/__pycache__/quiz_brain.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/__pycache__/quiz_brain.cpython-37.pyc -------------------------------------------------------------------------------- /Day 34/Quizzler App/__pycache__/ui.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/__pycache__/ui.cpython-37.pyc -------------------------------------------------------------------------------- /Day 34/Quizzler App/images/false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/images/false.png -------------------------------------------------------------------------------- /Day 34/Quizzler App/images/true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 34/Quizzler App/images/true.png -------------------------------------------------------------------------------- /Day 34/Quizzler App/question_model.py: -------------------------------------------------------------------------------- 1 | class Question: 2 | 3 | def __init__(self, q_text, q_answer): 4 | self.text = q_text 5 | self.answer = q_answer 6 | -------------------------------------------------------------------------------- /Day 34/Quizzler App/quiz.py: -------------------------------------------------------------------------------- 1 | from question_model import Question 2 | from data import question_data 3 | from quiz_brain import QuizBrain 4 | from ui import UserInterface 5 | 6 | question_bank = [] 7 | for question in question_data: 8 | question_text = question["question"] 9 | question_answer = question["correct_answer"] 10 | new_question = Question(question_text, question_answer) 11 | question_bank.append(new_question) 12 | 13 | 14 | quiz = QuizBrain(question_bank) 15 | quiz_ui = UserInterface(quiz) 16 | 17 | # while quiz.still_has_questions(): 18 | # quiz.next_question() 19 | 20 | print("You've completed the quiz") 21 | print(f"Your final score was: {quiz.score}/{quiz.question_number}") 22 | -------------------------------------------------------------------------------- /Day 38/Exercise Traking/My Workouts - workouts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 38/Exercise Traking/My Workouts - workouts.pdf -------------------------------------------------------------------------------- /Day 39/Flight Deals/data_manager.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | SHEETY_PRICES_ENDPOINT = "Your Sheety Prices Endpoint" 4 | 5 | 6 | class DataManager: 7 | 8 | def __init__(self): 9 | self.destination_data = {} 10 | 11 | def get_destination_data(self): 12 | response = requests.get(url=SHEETY_PRICES_ENDPOINT) 13 | data = response.json() 14 | self.destination_data = data["prices"] 15 | return self.destination_data 16 | 17 | def update_destination_codes(self): 18 | for city in self.destination_data: 19 | new_data = { 20 | "price": { 21 | "iataCode": city["iataCode"] 22 | } 23 | } 24 | response = requests.put( 25 | url=f"{SHEETY_PRICES_ENDPOINT}/{city['id']}", 26 | json=new_data 27 | ) 28 | print(response.text) 29 | -------------------------------------------------------------------------------- /Day 39/Flight Deals/flight_data.py: -------------------------------------------------------------------------------- 1 | class FlightData: 2 | 3 | def __init__(self, price, origin_city, origin_airport, destination_city, destination_airport, 4 | out_date, return_date): 5 | self.price = price 6 | self.origin_city = origin_city 7 | self.origin_airport = origin_airport 8 | self.destination_city = destination_city 9 | self.destination_airport = destination_airport 10 | self.out_date = out_date 11 | self.return_date = return_date 12 | -------------------------------------------------------------------------------- /Day 39/Flight Deals/notification_manager.py: -------------------------------------------------------------------------------- 1 | from twilio.rest import Client 2 | 3 | TWILIO_SID = "Your Twilio Account SID" 4 | TWILIO_AUTH_TOKEN = "Your Twilio AUTH Token" 5 | TWILIO_VIRTUAL_NUMBER = "Your Twilio Virtual Number" 6 | TWILIO_VERIFIED_NUMBER = "Your Twilio Verified Number" 7 | 8 | 9 | class NotificationManager: 10 | 11 | def __init__(self): 12 | self.client = Client(TWILIO_SID, TWILIO_AUTH_TOKEN) 13 | 14 | def send_sms(self, message): 15 | message = self.client.messages.create( 16 | body=message, 17 | from_=TWILIO_VIRTUAL_NUMBER, 18 | to=TWILIO_VERIFIED_NUMBER, 19 | ) 20 | # Prints if successfully sent. 21 | print(message.sid) 22 | -------------------------------------------------------------------------------- /Day 4/2.Banker Roulette.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | You are going to write a program that will select a random name from a list of names. 4 | The person selected will have to pay for everybody's food bill. 5 | ''' 6 | 7 | import random 8 | 9 | # 🚨 Don't change the code below 👇 10 | test_seed = int(input("Create a seed number: ")) 11 | random.seed(test_seed) 12 | 13 | # Split string method 14 | names_string = input("Give me everybody's names, separated by a comma. ") 15 | names = names_string.split(", ") 16 | # 🚨 Don't change the code above 👆 17 | 18 | #Write your code below this line 👇 19 | length = len(names) 20 | random_number = random.randint(0, length-1) 21 | random_name = names[random_number] 22 | print(f"{random_name} is going to buy the meal today!") 23 | -------------------------------------------------------------------------------- /Day 4/3.Treasure Map.py: -------------------------------------------------------------------------------- 1 | ''' 2 | You are going to write a program that will mark a spot with an X. 3 | ''' 4 | 5 | # 🚨 Don't change the code below 👇 6 | row1 = ["⬜️", "⬜️", "⬜️"] 7 | row2 = ["⬜️", "⬜️", "⬜️"] 8 | row3 = ["⬜️", "⬜️", "⬜️"] 9 | map = [row1, row2, row3] 10 | print(f"{row1}\n{row2}\n{row3}") 11 | position = input("Where do you want to put the treasure? ") 12 | # 🚨 Don't change the code above 👆 13 | 14 | #Write your code below this row 👇 15 | 16 | horizontal = int(position[0]) 17 | vertical = int(position[1]) 18 | 19 | map[vertical-1] [horizontal-1] = "X" 20 | 21 | 22 | #Write your code above this row 👆 23 | 24 | # 🚨 Don't change the code below 👇 25 | print(f"{row1}\n{row2}\n{row3}") 26 | -------------------------------------------------------------------------------- /Day 40/Flight Deals/flight_data.py: -------------------------------------------------------------------------------- 1 | class FlightData: 2 | 3 | def __init__( 4 | self, price, origin_city, origin_airport, destination_city, destination_airport, 5 | out_date, return_date, stop_overs=0, via_city=""): 6 | self.price = price 7 | self.origin_city = origin_city 8 | self.origin_airport = origin_airport 9 | self.destination_city = destination_city 10 | self.destination_airport = destination_airport 11 | self.out_date = out_date 12 | self.return_date = return_date 13 | self.stop_overs = stop_overs 14 | self.via_city = via_city 15 | -------------------------------------------------------------------------------- /Day 41/HTML - Personal Site/contact-me.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Contact Me 6 | 7 | 8 |

My Contact Details

9 |

My Address

10 |

8618567812

11 |

myemail@gmail.com

12 | 13 | -------------------------------------------------------------------------------- /Day 41/HTML - Personal Site/hobbies.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Hobbies 6 | 7 | 8 |

Hy Hobbies

9 |
    10 |
  1. Play video games
  2. 11 |
  3. Cycling
  4. 12 |
  5. Traveling
  6. 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /Day 41/HTML - Personal Site/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Rajdip's Personal Site 6 | 7 | 8 | 9 | rajdip profile picture 10 |

Rajdip Das

11 |

Student of Future Institute of Engineering and Management.

12 |

I am a Engineering Student. I ❤ Tea.

13 |
14 |

Educations

15 | 19 | My Hobbies
20 | Contact Me 21 | 22 | 23 | -------------------------------------------------------------------------------- /Day 41/HTML - Personal Site/rajdip_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 41/HTML - Personal Site/rajdip_pic.jpg -------------------------------------------------------------------------------- /Day 42/HTML - Personal Site/contact-me.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Contact Me 6 | 7 | 8 |

My Contact Details

9 |

My Address

10 |

8618567812

11 |

myemail@gmail.com

12 |
13 |
14 | 15 |
16 | 17 |
18 |
19 |
20 | 21 |
22 | 23 | -------------------------------------------------------------------------------- /Day 42/HTML - Personal Site/hobbies.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Hobbies 6 | 7 | 8 |

Hy Hobbies

9 |
    10 |
  1. Play video games
  2. 11 |
  3. Cycling
  4. 12 |
  5. Traveling
  6. 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /Day 42/HTML - Personal Site/rajdip_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 42/HTML - Personal Site/rajdip_pic.jpg -------------------------------------------------------------------------------- /Day 42/HTML Challenge/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

HTML Challenge

9 |
10 | Link to MDN Documentation 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
OneTwo
ThreeFour
21 | 22 | -------------------------------------------------------------------------------- /Day 42/HTML Inputs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HTML Inputs 6 | 7 | 8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 | -------------------------------------------------------------------------------- /Day 43/CSS - Bacon Fansite/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Bacon Fansite 7 | 8 | 9 | 10 | 11 |

I Love Bacon

12 |

bacon, bacon, bacon, bacon, bacon, bacon

13 |

bacon, bacon, bacon, bacon, bacon, bacon

14 |

bacon, bacon, bacon, bacon, bacon, bacon

15 | bacon-img 16 | broccoli-img 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Day 43/CSS - Bacon Fansite/styles.css: -------------------------------------------------------------------------------- 1 | /***************************** TAG SELECTORS *****************************/ 2 | 3 | h1 { 4 | color: red; 5 | } 6 | 7 | img:hover { 8 | background-color: gold; 9 | } 10 | 11 | /***************************** CLASS SELECTORS *****************************/ 12 | 13 | .bacon { 14 | background-color: red; 15 | } 16 | 17 | .broccoli { 18 | background-color: green; 19 | } 20 | 21 | .circular{ 22 | border-radius: 100%; 23 | } 24 | 25 | /***************************** ID SELECTORS *****************************/ 26 | 27 | #heading{ 28 | color: blue; 29 | } 30 | -------------------------------------------------------------------------------- /Day 43/HTML - Personal Site/contact-me.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Contact Me 6 | 7 | 8 | 9 |

My Contact Details

10 |

My Address

11 |

8618567812

12 |

myemail@gmail.com

13 |
14 |
15 | 16 |
17 | 18 |
19 |
20 |
21 | 22 |
23 | 24 | -------------------------------------------------------------------------------- /Day 43/HTML - Personal Site/hobbies.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Hobbies 6 | 7 | 8 | 9 |

Hy Hobbies

10 |
    11 |
  1. Play video games
  2. 12 |
  3. Cycling
  4. 13 |
  5. Traveling
  6. 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /Day 43/HTML - Personal Site/rajdip_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 43/HTML - Personal Site/rajdip_pic.jpg -------------------------------------------------------------------------------- /Day 43/HTML - Personal Site/styles.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: #EAF6F6; 3 | } 4 | 5 | hr{ 6 | border-color: grey; 7 | border-style: none; 8 | border-top-style: dotted; 9 | border-width: 5px; 10 | width: 5%; 11 | } 12 | 13 | h1{ 14 | color: #e77d12; 15 | } 16 | 17 | h3{ 18 | color: #b412ea; 19 | } 20 | -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/cloud.png -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/computer.png -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/favicon.ico -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/mountain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/mountain.png -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/profile.png -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/rajdip_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/rajdip_pic.png -------------------------------------------------------------------------------- /Day 44/CSS - My Site/images/travel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 44/CSS - My Site/images/travel.png -------------------------------------------------------------------------------- /Day 45/1.Day Exercise/HTML - Personal Site/contact-me.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Contact Me 6 | 7 | 8 |

My Contact Details

9 |

My Address

10 |

8618567812

11 |

myemail@gmail.com

12 | 13 | -------------------------------------------------------------------------------- /Day 45/1.Day Exercise/HTML - Personal Site/hobbies.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Hobbies 6 | 7 | 8 |

Hy Hobbies

9 |
    10 |
  1. Play video games
  2. 11 |
  3. Cycling
  4. 12 |
  5. Traveling
  6. 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /Day 45/1.Day Exercise/HTML - Personal Site/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Rajdip's Personal Site 6 | 7 | 8 | 9 | rajdip profile picture 10 |

Rajdip Das

11 |

Student of Future Institute of Engineering and Management.

12 |

I am a Engineering Student. I ❤ Tea.

13 |
14 |

Educations

15 | 19 |
20 |

Other Pages

21 | My Hobbies
22 | Contact Me 23 | 24 | 25 | -------------------------------------------------------------------------------- /Day 45/1.Day Exercise/HTML - Personal Site/rajdip_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 45/1.Day Exercise/HTML - Personal Site/rajdip_pic.jpg -------------------------------------------------------------------------------- /Day 45/100 movies to watch/main.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from bs4 import BeautifulSoup 3 | 4 | URL = "https://web.archive.org/web/20200518073855/https://www.empireonline.com/movies/features/best-movies-2/" 5 | 6 | # Write your code below this line 👇 7 | 8 | response = requests.get(URL) 9 | website_html = response.text 10 | 11 | soup = BeautifulSoup(website_html, "html.parser") 12 | 13 | all_movies = soup.find_all(name="h3", class_="title") 14 | 15 | movie_titles = [movie.getText() for movie in all_movies] 16 | movies = movie_titles[::-1] 17 | 18 | with open("movies.txt", mode="w") as file: 19 | for movie in movies: 20 | file.write(f"{movie}\n") 21 | -------------------------------------------------------------------------------- /Day 45/100 movies to watch/movies.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 45/100 movies to watch/movies.txt -------------------------------------------------------------------------------- /Day 48/Challenge/autosignup.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | 3 | chrome_driver_path = "C:\\Development\\chromedriver.exe" 4 | driver = webdriver.Chrome(executable_path=chrome_driver_path) 5 | driver.get("http://secure-retreat-92358.herokuapp.com/") 6 | 7 | fname = driver.find_element_by_name("fName") 8 | fname.send_keys("Rajdip") 9 | lname = driver.find_element_by_name("lName") 10 | lname.send_keys("Das") 11 | email = driver.find_element_by_name("email") 12 | email.send_keys("raj@gmail.com") 13 | 14 | submit = driver.find_element_by_css_selector("form button") 15 | submit.click() 16 | -------------------------------------------------------------------------------- /Day 48/Challenge/interaction.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | from selenium.webdriver.common.keys import Keys 3 | 4 | chrome_driver_path = "C:\\Development\\chromedriver.exe" 5 | driver = webdriver.Chrome(executable_path=chrome_driver_path) 6 | driver.get("https://en.wikipedia.org/wiki/Main_Page") 7 | 8 | number = driver.find_element_by_css_selector("#articlecount a") 9 | # number.click() 10 | 11 | all_portals = driver.find_element_by_link_text("All portals") 12 | # all_portals.click() 13 | 14 | search = driver.find_element_by_name("search") 15 | search.send_keys("Python") 16 | search.send_keys(Keys.ENTER) 17 | -------------------------------------------------------------------------------- /Day 48/Challenge/main.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | 3 | chrome_driver_path = "C:\\Development\\chromedriver.exe" 4 | driver = webdriver.Chrome(executable_path=chrome_driver_path) 5 | driver.get("https://www.python.org/") 6 | 7 | event_times = driver.find_elements_by_css_selector(".event-widget time") 8 | event_names = driver.find_elements_by_css_selector(".event-widget li a") 9 | events = {} 10 | 11 | for n in range(len(event_times)): 12 | events[n] = { 13 | "time": event_times[n].text, 14 | "name": event_names[n].text 15 | } 16 | 17 | print(events) 18 | 19 | driver.quit() 20 | -------------------------------------------------------------------------------- /Day 48/Windows Demo/main.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | 3 | chrome_driver_path = "C:\\Development\\chromedriver.exe" 4 | driver = webdriver.Chrome(executable_path=chrome_driver_path) 5 | 6 | driver.get("https://www.python.org/") 7 | # price = driver.find_element_by_class_name("a-offscreen") 8 | # print(price.text) 9 | 10 | # search_bar = driver.find_element_by_name("q") 11 | # print(search_bar.get_attribute("placeholder")) 12 | 13 | # logo = driver.find_element_by_class_name("python-logo") 14 | # print(logo.size) 15 | 16 | # documentation_link = driver.find_element_by_css_selector(".documentation-widget a") 17 | # print(documentation_link.text) 18 | 19 | # bug_link = driver.find_element_by_xpath('//*[@id="site-map"]/div[2]/div/ul/li[3]/a') 20 | # print(bug_link.text) 21 | 22 | 23 | driver.quit() 24 | -------------------------------------------------------------------------------- /Day 5/1.Average Height.py: -------------------------------------------------------------------------------- 1 | ''' 2 | You are going to write a program that calculates the average student height from a List of heights. 3 | 4 | e.g. student_heights = [180, 124, 165, 173, 189, 169, 146] 5 | 6 | The average height can be calculated by adding all the heights together and dividing by the total number of heights. 7 | 8 | e.g. 9 | 10 | 180 + 124 + 165 + 173 + 189 + 169 + 146 = 1146 11 | 12 | There are a total of 7 heights in student_heights 13 | 14 | 1146 ÷ 7 = 163.71428571428572 15 | 16 | Average height rounded to the nearest whole number = 164 17 | ''' 18 | 19 | # 🚨 Don't change the code below 👇 20 | student_heights = input("Input a list of student heights ").split() 21 | for n in range(0, len(student_heights)): 22 | student_heights[n] = int(student_heights[n]) 23 | # 🚨 Don't change the code above 👆 24 | 25 | 26 | #Write your code below this row 👇 27 | 28 | add = 0 29 | length = len(student_heights) 30 | for student_height in student_heights: 31 | add = add + student_height 32 | 33 | result = round(add/length) 34 | print(result) 35 | -------------------------------------------------------------------------------- /Day 5/2.High Score.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | You are going to write a program that calculates the highest score from a List of scores. 4 | 5 | e.g. student_scores = [78, 65, 89, 86, 55, 91, 64, 89] 6 | 7 | Important you are not allowed to use the max or min functions. The output words must match the example. 8 | ''' 9 | 10 | # 🚨 Don't change the code below 👇 11 | student_scores = input("Input a list of student scores ").split() 12 | for n in range(0, len(student_scores)): 13 | student_scores[n] = int(student_scores[n]) 14 | print(student_scores) 15 | # 🚨 Don't change the code above 👆 16 | 17 | #Write your code below this row 👇 18 | highest_score = 0 19 | for score in student_scores: 20 | if score > highest_score: 21 | highest_score = score 22 | print(f"The highest score in the class is: {highest_score}") 23 | -------------------------------------------------------------------------------- /Day 5/3.Adding Even Numbers.py: -------------------------------------------------------------------------------- 1 | ''' 2 | You are going to write a program that calculates the sum of all the even numbers from 1 to 100. 3 | Thus, the first even number would be 2 and the last one is 100: 4 | i.e. 2 + 4 + 6 + 8 +10 ... + 98 + 100 5 | ''' 6 | 7 | #Write your code below this row 👇 8 | 9 | add = 0 10 | 11 | for i in range(2, 101): 12 | if(i % 2 == 0): 13 | add = add + i 14 | print(add) 15 | -------------------------------------------------------------------------------- /Day 5/4.FizzBuzz.py: -------------------------------------------------------------------------------- 1 | ''' 2 | You are going to write a program that automatically prints the solution to the FizzBuzz game. 3 | 4 | Your program should print each number from 1 to 100 in turn. 5 | 6 | When the number is divisible by 3 then instead of printing the number it should print "Fizz". 7 | 8 | When the number is divisible by 5, then instead of printing the number it should print "Buzz".` 9 | 10 | And if the number is divisible by both 3 and 5 e.g. 15 then instead of the number it should print "FizzBuzz" 11 | ''' 12 | 13 | #Write your code below this row 👇 14 | 15 | for i in range(1, 101): 16 | if(i % 3 == 0 and i % 5 == 0): 17 | print("FizzBuzz") 18 | elif(i % 3 == 0): 19 | print("Fizz") 20 | elif(i % 5 == 0): 21 | print("Buzz") 22 | else: 23 | print(i) 24 | -------------------------------------------------------------------------------- /Day 54/Exercise/main.py: -------------------------------------------------------------------------------- 1 | import time 2 | 3 | current_time = time.time() 4 | print(current_time) 5 | 6 | 7 | def speed_calc_decorator(function): 8 | def wrapper_function(): 9 | start_time = time.time() 10 | function() 11 | end_time = time.time() 12 | print(f"{function.__name__} run speed: {end_time - start_time}s") 13 | 14 | return wrapper_function 15 | 16 | 17 | @speed_calc_decorator 18 | def fast_function(): 19 | for i in range(10000000): 20 | i * i 21 | 22 | 23 | @speed_calc_decorator 24 | def slow_function(): 25 | for i in range(100000000): 26 | i * i 27 | 28 | 29 | fast_function() 30 | slow_function() 31 | -------------------------------------------------------------------------------- /Day 54/main.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | 3 | app = Flask(__name__) 4 | 5 | 6 | @app.route('/') 7 | def hello_world(): 8 | return 'Hello, World!' 9 | 10 | 11 | @app.route("/bye") 12 | def say_bye(): 13 | return "Bye" 14 | 15 | 16 | if __name__ == "__main__": 17 | app.run() 18 | -------------------------------------------------------------------------------- /Day 55/Exercise/main.py: -------------------------------------------------------------------------------- 1 | def logging_decorator(fn): 2 | def wrapper(*args, **kwargs): 3 | print(f"You called {fn.__name__}{args}") 4 | result = fn(args[0], args[1], args[2]) 5 | print(f"It returned: {result}") 6 | 7 | return wrapper 8 | 9 | 10 | @logging_decorator 11 | def a_function(a, b, c): 12 | return a * b * c 13 | 14 | 15 | a_function(1, 2, 3) 16 | -------------------------------------------------------------------------------- /Day 56/My Name Card/server.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template 2 | 3 | app = Flask(__name__) 4 | 5 | 6 | @app.route("/") 7 | def home(): 8 | return render_template("index.html") 9 | 10 | 11 | if __name__ == "__main__": 12 | app.run(debug=True) 13 | -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie8.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie8.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie9 - Copy.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie9 - Copy.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie9.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/ie9.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/main.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/main.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/noscript.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/12a6f86b5e4aa64fcb14102de616aea4d622c84f/noscript.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_functions.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_functions.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_mixins.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_mixins.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_skel.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_skel.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_vars.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/67a30392a9c4d42ed248c6b1404813d02df84637/_vars.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_copyright.scssc: -------------------------------------------------------------------------------- 1 | 3.4.13 (Selective Steve) 2 | da39a3ee5e6b4b0d3255bfef95601890afd80709 3 | o:Sass::Tree::RootNode 4 | :@children[:@templateI":ET: 5 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso; ; i;i: 6 | @fileI" sass/layout/_copyright.scss;F:@importero: Sass::Importers::Filesystem: 7 | @rootI"G/srv/home/ajl/projects/HTML5 UP/templates/identity/src/html/assets;T:@real_rootI"G/srv/home/ajl/projects/HTML5 UP/templates/identity/src/html/assets;T:@same_name_warningso:Set: 8 | @hash{: @options{ -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_footer.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_footer.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_main.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_main.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_wrapper.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/7e789d186c055861f24133e1b9885bb81c49b2aa/_wrapper.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_button.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_button.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_form.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_form.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_icon.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_icon.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_list.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/cf0bea95a132a2d2ad494712665ec6344019307b/_list.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/fdfbe966239fea8d85b20cc3e91511822b0ce989/_page.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/fdfbe966239fea8d85b20cc3e91511822b0ce989/_page.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/.sass-cache/fdfbe966239fea8d85b20cc3e91511822b0ce989/_typography.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/.sass-cache/fdfbe966239fea8d85b20cc3e91511822b0ce989/_typography.scssc -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/css/ie8.css: -------------------------------------------------------------------------------- 1 | /* 2 | Identity by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* List */ 8 | 9 | ul.icons li a { 10 | -ms-behavior: url("assets/js/PIE.htc"); 11 | } 12 | 13 | ul.icons li a:before { 14 | text-align: center; 15 | font-size: 26px; 16 | } 17 | 18 | /* Main */ 19 | 20 | #main { 21 | -ms-behavior: url("assets/js/PIE.htc"); 22 | } 23 | 24 | #main .avatar img { 25 | -ms-behavior: url("assets/js/PIE.htc"); 26 | } 27 | 28 | /* Footer */ 29 | 30 | #footer { 31 | color: #fff; 32 | } 33 | 34 | #footer .copyright li { 35 | border-left: solid 1px #fff; 36 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/css/ie9.css: -------------------------------------------------------------------------------- 1 | /* 2 | Identity by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | body { 10 | background-image: url("../../images/bg.jpg"); 11 | background-repeat: no-repeat; 12 | background-size: cover; 13 | background-position: bottom center; 14 | background-attachment: fixed; 15 | } 16 | 17 | body:after { 18 | display: none; 19 | } 20 | 21 | /* List */ 22 | 23 | ul.icons li a:before { 24 | color: #c8cccf; 25 | } 26 | 27 | ul.icons li a:hover:before { 28 | color: #ff7496; 29 | } 30 | 31 | /* Wrapper */ 32 | 33 | #wrapper { 34 | text-align: center; 35 | } 36 | 37 | /* Main */ 38 | 39 | #main { 40 | display: inline-block; 41 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/css/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/css/images/overlay.png -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/css/noscript.css: -------------------------------------------------------------------------------- 1 | /* 2 | Identity by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | body:after { 10 | display: none; 11 | } 12 | 13 | /* Main */ 14 | 15 | #main { 16 | -moz-transform: none !important; 17 | -webkit-transform: none !important; 18 | -ms-transform: none !important; 19 | transform: none !important; 20 | opacity: 1 !important; 21 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/components/_icon.scss: -------------------------------------------------------------------------------- 1 | @import '../libs/vars'; 2 | @import '../libs/functions'; 3 | @import '../libs/mixins'; 4 | 5 | /// 6 | /// Identity by HTML5 UP 7 | /// html5up.net | @n33co 8 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 9 | /// 10 | 11 | /* Icon */ 12 | 13 | .icon { 14 | @include icon; 15 | position: relative; 16 | border-bottom: none; 17 | 18 | > .label { 19 | display: none; 20 | } 21 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/ie8.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | 6 | /* 7 | Identity by HTML5 UP 8 | html5up.net | @n33co 9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 10 | */ 11 | 12 | /* List */ 13 | 14 | ul { 15 | &.icons { 16 | li { 17 | a { 18 | -ms-behavior: url('assets/js/PIE.htc'); 19 | 20 | &:before { 21 | text-align: center; 22 | font-size: 26px; 23 | } 24 | } 25 | } 26 | } 27 | } 28 | 29 | /* Main */ 30 | 31 | #main { 32 | -ms-behavior: url('assets/js/PIE.htc'); 33 | 34 | .avatar { 35 | img { 36 | -ms-behavior: url('assets/js/PIE.htc'); 37 | } 38 | } 39 | } 40 | 41 | /* Footer */ 42 | 43 | #footer { 44 | color: #fff; 45 | 46 | .copyright { 47 | li { 48 | border-left: solid 1px #fff; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/ie9.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | 6 | /* 7 | Identity by HTML5 UP 8 | html5up.net | @n33co 9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 10 | */ 11 | 12 | /* Basic */ 13 | 14 | body { 15 | background-image: url('../../images/bg.jpg'); 16 | background-repeat: no-repeat; 17 | background-size: cover; 18 | background-position: bottom center; 19 | background-attachment: fixed; 20 | 21 | &:after { 22 | display: none; 23 | } 24 | } 25 | 26 | /* List */ 27 | 28 | ul { 29 | &.icons { 30 | li { 31 | a { 32 | &:before { 33 | color: _palette(border); 34 | } 35 | 36 | &:hover { 37 | &:before { 38 | color: _palette(highlight); 39 | } 40 | } 41 | } 42 | } 43 | } 44 | } 45 | 46 | /* Wrapper */ 47 | 48 | #wrapper { 49 | text-align: center; 50 | } 51 | 52 | /* Main */ 53 | 54 | #main { 55 | display: inline-block; 56 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/layout/_footer.scss: -------------------------------------------------------------------------------- 1 | @import '../libs/vars'; 2 | @import '../libs/functions'; 3 | @import '../libs/mixins'; 4 | 5 | /// 6 | /// Identity by HTML5 UP 7 | /// html5up.net | @n33co 8 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 9 | /// 10 | 11 | /* Footer */ 12 | 13 | #footer { 14 | @include vendor('align-self', 'flex-end'); 15 | width: 100%; 16 | padding: _size(element-margin) 0 0 0; 17 | color: rgba(255,255,255,0.75); 18 | cursor: default; 19 | text-align: center; 20 | 21 | .copyright { 22 | margin: 0; 23 | padding: 0; 24 | font-size: 0.9em; 25 | list-style: none; 26 | 27 | li { 28 | display: inline-block; 29 | margin: 0 0 0 (0.85em - (_size(letter-spacing) * 2)); 30 | padding: 0 0 0 0.85em; 31 | border-left: solid _size(border-width) rgba(255,255,255,0.5); 32 | line-height: 1; 33 | 34 | &:first-child { 35 | border-left: 0; 36 | } 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/layout/_wrapper.scss: -------------------------------------------------------------------------------- 1 | @import '../libs/vars'; 2 | @import '../libs/functions'; 3 | @import '../libs/mixins'; 4 | 5 | /// 6 | /// Identity by HTML5 UP 7 | /// html5up.net | @n33co 8 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 9 | /// 10 | 11 | /* Wrapper */ 12 | 13 | #wrapper { 14 | @include vendor('display', 'flex'); 15 | @include vendor('align-items', 'center'); 16 | @include vendor('justify-content', 'space-between'); 17 | @include vendor('flex-direction', 'column'); 18 | @include vendor('perspective', '1000px'); 19 | position: relative; 20 | min-height: 100%; 21 | padding: _size(element-margin); 22 | z-index: 2; 23 | 24 | > * { 25 | z-index: 1; 26 | } 27 | 28 | &:before { 29 | content: ''; 30 | display: block; 31 | } 32 | 33 | @include breakpoint(xxsmall) { 34 | padding: (_size(element-margin) * 0.5); 35 | } 36 | 37 | body.is-ie & { 38 | height: 100%; 39 | } 40 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/libs/_functions.scss: -------------------------------------------------------------------------------- 1 | /// Gets a duration value. 2 | /// @param {string} $keys Key(s). 3 | /// @return {string} Value. 4 | @function _duration($keys...) { 5 | @return val($duration, $keys...); 6 | } 7 | 8 | /// Gets a font value. 9 | /// @param {string} $keys Key(s). 10 | /// @return {string} Value. 11 | @function _font($keys...) { 12 | @return val($font, $keys...); 13 | } 14 | 15 | /// Gets a misc value. 16 | /// @param {string} $keys Key(s). 17 | /// @return {string} Value. 18 | @function _misc($keys...) { 19 | @return val($misc, $keys...); 20 | } 21 | 22 | /// Gets a palette value. 23 | /// @param {string} $keys Key(s). 24 | /// @return {string} Value. 25 | @function _palette($keys...) { 26 | @return val($palette, $keys...); 27 | } 28 | 29 | /// Gets a size value. 30 | /// @param {string} $keys Key(s). 31 | /// @return {string} Value. 32 | @function _size($keys...) { 33 | @return val($size, $keys...); 34 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/libs/_vars.scss: -------------------------------------------------------------------------------- 1 | // Misc. 2 | $misc: ( 3 | z-index-base: 10000 4 | ); 5 | 6 | // Duration. 7 | $duration: ( 8 | transition: 0.2s, 9 | bg: 1.75s, 10 | main: 1s 11 | ); 12 | 13 | // Size. 14 | $size: ( 15 | border-radius: 4px, 16 | border-width: 1px, 17 | element-height: 2.75em, 18 | element-margin: 1.5em, 19 | letter-spacing: 0.2em 20 | ); 21 | 22 | // Font. 23 | $font: ( 24 | family: ('Source Sans Pro', Helvetica, sans-serif), 25 | family-fixed: ('Courier New', monospace), 26 | weight: 300 27 | ); 28 | 29 | // Palette. 30 | $palette: ( 31 | bg: #ffffff, 32 | bg-alt: #e1dfe8, 33 | fg: #414f57, 34 | fg-bold: #313f47, 35 | fg-light: #616f77, 36 | border: #c8cccf, 37 | accent1: #ffa596, 38 | accent2: #00e4ff, 39 | highlight: #ff7496 40 | ); -------------------------------------------------------------------------------- /Day 56/My Name Card/static/assets/sass/noscript.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | 6 | /* 7 | Identity by HTML5 UP 8 | html5up.net | @n33co 9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 10 | */ 11 | 12 | /* Basic */ 13 | 14 | body { 15 | &:after { 16 | display: none; 17 | } 18 | } 19 | 20 | /* Main */ 21 | 22 | #main { 23 | @include vendor('transform', 'none !important'); 24 | opacity: 1 !important; 25 | } -------------------------------------------------------------------------------- /Day 56/My Name Card/static/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/images/avatar.png -------------------------------------------------------------------------------- /Day 56/My Name Card/static/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Name Card/static/images/bg.jpg -------------------------------------------------------------------------------- /Day 56/My Personal Site/server.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template 2 | 3 | app = Flask(__name__) 4 | 5 | 6 | @app.route("/") 7 | def home(): 8 | return render_template("index.html") 9 | 10 | 11 | if __name__ == "__main__": 12 | app.run(debug=True) 13 | -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/cloud.png -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/computer.png -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/favicon.ico -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/mountain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/mountain.png -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/profile.png -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/rajdip_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/rajdip_pic.png -------------------------------------------------------------------------------- /Day 56/My Personal Site/static/images/travel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 56/My Personal Site/static/images/travel.png -------------------------------------------------------------------------------- /Day 57/Blog Templating/__pycache__/post.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 57/Blog Templating/__pycache__/post.cpython-37.pyc -------------------------------------------------------------------------------- /Day 57/Blog Templating/main.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template 2 | from post import Post 3 | import requests 4 | 5 | posts = requests.get("https://api.npoint.io/79da9bde905251786217").json() 6 | post_objects = [] 7 | for post in posts: 8 | post_obj = Post(post["id"], post["title"], post["subtitle"], post["body"]) 9 | post_objects.append(post_obj) 10 | 11 | app = Flask(__name__) 12 | 13 | 14 | @app.route('/') 15 | def get_all_posts(): 16 | return render_template("index.html", all_posts=post_objects) 17 | 18 | 19 | @app.route("/post/") 20 | def show_post(index): 21 | requested_post = None 22 | for blog_post in post_objects: 23 | if blog_post.id == index: 24 | requested_post = blog_post 25 | return render_template("post.html", post=requested_post) 26 | 27 | 28 | if __name__ == "__main__": 29 | app.run(debug=True) 30 | -------------------------------------------------------------------------------- /Day 57/Blog Templating/post.py: -------------------------------------------------------------------------------- 1 | class Post: 2 | def __init__(self, post_id, title, subtitle, body): 3 | self.id = post_id 4 | self.title = title 5 | self.subtitle = subtitle 6 | self.body = body 7 | -------------------------------------------------------------------------------- /Day 57/Blog Templating/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 |
11 |
12 |

My Blog

13 |
14 | 15 | {% for post in all_posts: %} 16 |
17 |
18 |

{{ post.title }}

19 |

{{ post.subtitle }}

20 | Read 21 |
22 | 23 |
24 | {% endfor %} 25 | 26 |
27 | 28 | 31 | -------------------------------------------------------------------------------- /Day 57/Blog Templating/templates/post.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 |
11 |

My Blog

12 |
13 |
14 |
15 |

{{ post.title }}

16 |

{{ post.subtitle }}

17 |

{{ post.body }}

18 |
19 |
20 |
21 | 22 | 25 | -------------------------------------------------------------------------------- /Day 57/Exercise/templates/blog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blog 6 | 7 | 8 | {% for blog_post in posts: %} 9 | {% if blog_post["id"] == 2: %} 10 |

{{ blog_post["title"] }}

11 |

{{ blog_post["subtitle"] }}

12 | {% endif %} 13 | {% endfor %} 14 | 15 | -------------------------------------------------------------------------------- /Day 57/Exercise/templates/guess.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Guess 6 | 7 | 8 |

Hey {{ person_name.title() }}

9 |

I think you are {{ gender }}

10 |

And maybe {{ age }} years old

11 | 12 | -------------------------------------------------------------------------------- /Day 57/Exercise/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Website 6 | 7 | 8 |

Hello World!

9 |

{{ 5 * 6 }}

10 |

Random Number: {{ num }}

11 | Go To Blog 12 | 13 | 16 | -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/HTMAA-thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/HTMAA-thumbnail.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/TechCrunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/TechCrunch.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/bizinsider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/bizinsider.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/dog-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/dog-img.jpg -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/iphone6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/iphone6.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/lady-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/lady-img.jpg -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/mashable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/mashable.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/rajdip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/rajdip.png -------------------------------------------------------------------------------- /Day 58/TinDog Completed Website/images/tnw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 58/TinDog Completed Website/images/tnw.png -------------------------------------------------------------------------------- /Day 59/Blog Templating/main.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template 2 | import requests 3 | 4 | posts = requests.get("https://api.npoint.io/79da9bde905251786217").json() 5 | 6 | app = Flask(__name__) 7 | 8 | 9 | @app.route('/') 10 | def get_all_posts(): 11 | return render_template("index.html", all_posts=posts) 12 | 13 | 14 | @app.route("/post/") 15 | def show_post(index): 16 | requested_post = None 17 | for blog_post in posts: 18 | if blog_post["id"] == index: 19 | requested_post = blog_post 20 | return render_template("post.html", post=requested_post) 21 | 22 | 23 | @app.route("/about") 24 | def about(): 25 | return render_template("about.html") 26 | 27 | 28 | @app.route("/contact") 29 | def contact(): 30 | return render_template("contact.html") 31 | 32 | 33 | if __name__ == "__main__": 34 | app.run(debug=True) 35 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/img/about-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/img/about-bg.jpg -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/img/contact-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/img/contact-bg.jpg -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/img/home-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/img/home-bg.jpg -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/img/post-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/img/post-bg.jpg -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/img/post-sample-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/img/post-sample-image.jpg -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/scss/_bootstrap-overrides.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap overrides for this template 2 | .btn { 3 | font-size: 14px; 4 | font-weight: 800; 5 | padding: 15px 25px; 6 | letter-spacing: 1px; 7 | text-transform: uppercase; 8 | border-radius: 0; 9 | @include sans-serif-font; 10 | } 11 | 12 | .btn-primary { 13 | background-color: $primary; 14 | border-color: $primary; 15 | &:hover, 16 | &:focus, 17 | &:active { 18 | color: $white; 19 | background-color: darken($primary, 7.5) !important; 20 | border-color: darken($primary, 7.5) !important; 21 | } 22 | } 23 | 24 | .btn-lg { 25 | font-size: 16px; 26 | padding: 25px 35px; 27 | } 28 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/scss/_footer.scss: -------------------------------------------------------------------------------- 1 | // Styling for the footer 2 | footer { 3 | padding: 50px 0 65px; 4 | .list-inline { 5 | margin: 0; 6 | padding: 0; 7 | } 8 | .copyright { 9 | font-size: 14px; 10 | margin-bottom: 0; 11 | text-align: center; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/scss/_post.scss: -------------------------------------------------------------------------------- 1 | // Styling for the post page 2 | .post-preview { 3 | > a { 4 | color: $gray-900; 5 | &:focus, 6 | &:hover { 7 | text-decoration: none; 8 | color: $primary; 9 | } 10 | > .post-title { 11 | font-size: 30px; 12 | margin-top: 30px; 13 | margin-bottom: 10px; 14 | } 15 | > .post-subtitle { 16 | font-weight: 300; 17 | margin: 0 0 10px; 18 | } 19 | } 20 | > .post-meta { 21 | font-size: 18px; 22 | font-style: italic; 23 | margin-top: 0; 24 | color: $gray-600; 25 | > a { 26 | text-decoration: none; 27 | color: $gray-900; 28 | &:focus, 29 | &:hover { 30 | text-decoration: underline; 31 | color: $primary; 32 | } 33 | } 34 | } 35 | @media only screen and (min-width: 768px) { 36 | > a { 37 | > .post-title { 38 | font-size: 36px; 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/scss/clean-blog.scss: -------------------------------------------------------------------------------- 1 | @import "variables.scss"; 2 | @import "mixins.scss"; 3 | @import "global.scss"; 4 | @import "navbar.scss"; 5 | @import "masthead.scss"; 6 | @import "post.scss"; 7 | @import "contact.scss"; 8 | @import "footer.scss"; 9 | @import "bootstrap-overrides.scss"; 10 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: block; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 59/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /Day 59/Blog Templating/templates/post.html: -------------------------------------------------------------------------------- 1 | {% include "header.html" %} 2 | 3 | 4 |
5 |
6 |
7 |
8 |
9 |
10 |

{{post.title}}

11 |

{{post.subtitle}}

12 | Posted by 13 | {{post.author}} 14 | on {{post.date}} 15 |
16 |
17 |
18 |
19 |
20 | 21 | 22 |
23 |
24 |
25 |
26 |

27 | {{post.body}} 28 |

29 |
30 |
31 |
32 |
33 | 34 |
35 | {% include "footer.html" %} -------------------------------------------------------------------------------- /Day 6/1.Hurdle 1.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | 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 4 | 5 | This is a challenge to solve Hurdle 1 problem. 6 | ''' 7 | 8 | 9 | def turn_right(): 10 | turn_left() 11 | turn_left() 12 | turn_left() 13 | 14 | 15 | def jump(): 16 | move() 17 | turn_left() 18 | move() 19 | turn_right() 20 | move() 21 | turn_right() 22 | move() 23 | turn_left() 24 | 25 | 26 | for i in range(0, 6): 27 | jump() 28 | -------------------------------------------------------------------------------- /Day 6/1.Problem.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/1.Problem.JPG -------------------------------------------------------------------------------- /Day 6/1.Result.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/1.Result.JPG -------------------------------------------------------------------------------- /Day 6/2.Hurdle 2.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%202&url=worlds%2Ftutorial_en%2Fhurdle2.json 4 | 5 | This is a challenge to solve Hurdle 2 problem. 6 | ''' 7 | 8 | def turn_right(): 9 | turn_left() 10 | turn_left() 11 | turn_left() 12 | 13 | 14 | def jump(): 15 | move() 16 | turn_left() 17 | move() 18 | turn_right() 19 | move() 20 | turn_right() 21 | move() 22 | turn_left() 23 | 24 | 25 | while at_goal() != True: 26 | jump() 27 | -------------------------------------------------------------------------------- /Day 6/2.Problem.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/2.Problem.JPG -------------------------------------------------------------------------------- /Day 6/2.Result.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/2.Result.JPG -------------------------------------------------------------------------------- /Day 6/3.Hurdle 3.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%204&url=worlds%2Ftutorial_en%2Fhurdle3.json 4 | 5 | This is a challenge to solve Hurdle 3 problem. 6 | ''' 7 | 8 | def turn_right(): 9 | turn_left() 10 | turn_left() 11 | turn_left() 12 | 13 | 14 | def jump(): 15 | turn_left() 16 | move() 17 | turn_right() 18 | move() 19 | turn_right() 20 | move() 21 | turn_left() 22 | 23 | 24 | while at_goal() != True: 25 | if front_is_clear(): 26 | move() 27 | else: 28 | jump() 29 | -------------------------------------------------------------------------------- /Day 6/3.Problem.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/3.Problem.JPG -------------------------------------------------------------------------------- /Day 6/3.Result.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/3.Result.JPG -------------------------------------------------------------------------------- /Day 6/4.Hurdle 4.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%204&url=worlds%2Ftutorial_en%2Fhurdle4.json 4 | 5 | This is a challenge to solve Hurdle 4 problem. 6 | ''' 7 | 8 | def turn_right(): 9 | turn_left() 10 | turn_left() 11 | turn_left() 12 | 13 | 14 | def jump(): 15 | turn_left() 16 | while wall_on_right(): 17 | move() 18 | turn_right() 19 | move() 20 | turn_right() 21 | while front_is_clear(): 22 | move() 23 | turn_left() 24 | 25 | 26 | while at_goal() != True: 27 | if wall_in_front(): 28 | jump() 29 | else: 30 | move() 31 | -------------------------------------------------------------------------------- /Day 6/4.Problem.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/4.Problem.JPG -------------------------------------------------------------------------------- /Day 6/4.Result.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/4.Result.JPG -------------------------------------------------------------------------------- /Day 6/5.Maze Problem.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/5.Maze Problem.JPG -------------------------------------------------------------------------------- /Day 6/5.Maze Result.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 6/5.Maze Result.JPG -------------------------------------------------------------------------------- /Day 6/5.Maze.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Maze&url=worlds%2Ftutorial_en%2Fmaze1.json 4 | 5 | This is a challenge to solve Maze problem. 6 | ''' 7 | 8 | def turn_right(): 9 | turn_left() 10 | turn_left() 11 | turn_left() 12 | 13 | 14 | while front_is_clear(): 15 | move() 16 | turn_left() 17 | 18 | while not at_goal(): 19 | if right_is_clear(): 20 | turn_right() 21 | move() 22 | elif front_is_clear(): 23 | move() 24 | else: 25 | turn_left() 26 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/img/about-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/img/about-bg.jpg -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/img/contact-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/img/contact-bg.jpg -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/img/home-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/img/home-bg.jpg -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/img/post-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/img/post-bg.jpg -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/img/post-sample-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/img/post-sample-image.jpg -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/scss/_bootstrap-overrides.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap overrides for this template 2 | .btn { 3 | font-size: 14px; 4 | font-weight: 800; 5 | padding: 15px 25px; 6 | letter-spacing: 1px; 7 | text-transform: uppercase; 8 | border-radius: 0; 9 | @include sans-serif-font; 10 | } 11 | 12 | .btn-primary { 13 | background-color: $primary; 14 | border-color: $primary; 15 | &:hover, 16 | &:focus, 17 | &:active { 18 | color: $white; 19 | background-color: darken($primary, 7.5) !important; 20 | border-color: darken($primary, 7.5) !important; 21 | } 22 | } 23 | 24 | .btn-lg { 25 | font-size: 16px; 26 | padding: 25px 35px; 27 | } 28 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/scss/_footer.scss: -------------------------------------------------------------------------------- 1 | // Styling for the footer 2 | footer { 3 | padding: 50px 0 65px; 4 | .list-inline { 5 | margin: 0; 6 | padding: 0; 7 | } 8 | .copyright { 9 | font-size: 14px; 10 | margin-bottom: 0; 11 | text-align: center; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/scss/_post.scss: -------------------------------------------------------------------------------- 1 | // Styling for the post page 2 | .post-preview { 3 | > a { 4 | color: $gray-900; 5 | &:focus, 6 | &:hover { 7 | text-decoration: none; 8 | color: $primary; 9 | } 10 | > .post-title { 11 | font-size: 30px; 12 | margin-top: 30px; 13 | margin-bottom: 10px; 14 | } 15 | > .post-subtitle { 16 | font-weight: 300; 17 | margin: 0 0 10px; 18 | } 19 | } 20 | > .post-meta { 21 | font-size: 18px; 22 | font-style: italic; 23 | margin-top: 0; 24 | color: $gray-600; 25 | > a { 26 | text-decoration: none; 27 | color: $gray-900; 28 | &:focus, 29 | &:hover { 30 | text-decoration: underline; 31 | color: $primary; 32 | } 33 | } 34 | } 35 | @media only screen and (min-width: 768px) { 36 | > a { 37 | > .post-title { 38 | font-size: 36px; 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/scss/clean-blog.scss: -------------------------------------------------------------------------------- 1 | @import "variables.scss"; 2 | @import "mixins.scss"; 3 | @import "global.scss"; 4 | @import "navbar.scss"; 5 | @import "masthead.scss"; 6 | @import "post.scss"; 7 | @import "contact.scss"; 8 | @import "footer.scss"; 9 | @import "bootstrap-overrides.scss"; 10 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: block; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 60/Blog Templating/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /Day 60/Blog Templating/templates/post.html: -------------------------------------------------------------------------------- 1 | {% include "header.html" %} 2 | 3 | 4 |
5 |
6 |
7 |
8 |
9 |
10 |

{{post.title}}

11 |

{{post.subtitle}}

12 | Posted by 13 | {{post.author}} 14 | on {{post.date}} 15 |
16 |
17 |
18 |
19 |
20 | 21 | 22 |
23 |
24 |
25 |
26 |

27 | {{post.body}} 28 |

29 |
30 |
31 |
32 |
33 | 34 |
35 | {% include "footer.html" %} -------------------------------------------------------------------------------- /Day 61/flask-secrets/templates/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% block title %}{% endblock %} 6 | 13 | 14 | 15 | {% block content %}{% endblock %} 16 | 17 | -------------------------------------------------------------------------------- /Day 61/flask-secrets/templates/denied.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %} 4 | Access Denied 5 | {% endblock %} 6 | 7 | {% block content %} 8 |
9 |

Access Denied

10 |

via GIPHY

11 |
12 | {% endblock %} -------------------------------------------------------------------------------- /Day 61/flask-secrets/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %} 4 | Secrets 5 | {% endblock %} 6 | 7 | {% block content %} 8 | 9 |
10 |
11 |

Welcome

12 |

Are you ready to discover my secret?

13 | 14 |
15 |
16 | {% endblock %} -------------------------------------------------------------------------------- /Day 61/flask-secrets/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block title %} 5 | Login 6 | {% endblock %} 7 | 8 | {% block content %} 9 |
10 |

Login

11 | {{ wtf.quick_form(form) }} 12 |
13 | {% endblock %} -------------------------------------------------------------------------------- /Day 61/flask-secrets/templates/success.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %} 4 | Login 5 | {% endblock %} 6 | 7 | {% block content %} 8 |
9 |

Top Secret

10 |

via GIPHY

11 |
12 | {% endblock %} -------------------------------------------------------------------------------- /Day 62/Coffee and wifi/cafe-data.csv: -------------------------------------------------------------------------------- 1 | Cafe Name,Location,Open,Close,Coffee,Wifi,Power 2 | Lighthaus,https://goo.gl/maps/2EvhB4oq4gyUXKXx9,11AM, 3:30PM,☕☕☕☕️,💪💪,🔌🔌🔌 3 | Esters,https://goo.gl/maps/13Tjc36HuPWLELaSA,8AM,3PM,☕☕☕☕,💪💪💪,🔌 4 | Ginger & White,https://goo.gl/maps/DqMx2g5LiAqv3pJQ9,7:30AM,5:30PM,☕☕☕,✘,🔌 5 | Mare Street Market,https://goo.gl/maps/ALR8iBiNN6tVfuAA8,8AM,1PM,☕☕,💪💪💪,🔌🔌🔌 -------------------------------------------------------------------------------- /Day 62/Coffee and wifi/static/css/styles.css: -------------------------------------------------------------------------------- 1 | /* This CSS file will need to be added to the styling of 2 | your web pages for the styles to be rendered. */ 3 | 4 | body { 5 | background-color: #333; 6 | color: white; 7 | } 8 | 9 | a { 10 | color: #ffc107; 11 | } 12 | 13 | .jumbotron { 14 | display: flex; 15 | align-items: center; 16 | margin: 0; 17 | height: 100vh; 18 | color: white; 19 | background-color: #333; 20 | } 21 | 22 | .space-above { 23 | margin-top: 20px; 24 | padding-top: 20px; 25 | } 26 | -------------------------------------------------------------------------------- /Day 62/Coffee and wifi/templates/add.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %}Add A New Cafe{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |
9 | 10 |

Add a new cafe into the database

11 | 12 | 13 | 14 |

See all cafes

15 | 16 |
17 |
18 |
19 | 20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /Day 62/Coffee and wifi/templates/cafes.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %}Restaurants{% endblock %} 4 | 5 | {% block content %} 6 | 7 |
8 |
9 |
10 | 11 |

All Cafes

12 | 13 | 14 | 17 |
18 | 19 |

Return to index page

20 | 21 |
22 |
23 |
24 | 25 | {% endblock %} 26 | -------------------------------------------------------------------------------- /Day 62/Coffee and wifi/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block title %}Coffee and Wifi{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

☕️ Coffee & Wifi 💻

9 |

Want to work in a cafe but need power and wifi?

10 |
11 |

You've found the right place! Checkout my collection of cafes with data on power socket availability, wifi speed and coffee quality.

12 | Show Me! 13 |
14 |
15 | 16 | {% endblock %} 17 | -------------------------------------------------------------------------------- /Day 63/Files Library/templates/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Add Book 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | -------------------------------------------------------------------------------- /Day 63/Files Library/templates/edit_rating.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Edit Rating 6 | 7 | 8 |
9 |

Book Name: {{book.title}}

10 |

Current Rating {{book.rating}}

11 | 12 | 13 | 14 |
15 | 16 | -------------------------------------------------------------------------------- /Day 63/Files Library/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Library 6 | 7 | 8 |

My Library

9 | {% if books == []: %} 10 |

Library is empty.

11 | {% endif %} 12 | 21 | Add New Book 22 | 23 | -------------------------------------------------------------------------------- /Day 64/My Top 10 Movies Website/templates/add.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block styles %} 5 | {{ super() }} 6 | 7 | 8 | 9 | {% endblock %} 10 | 11 | {% block title %}Add Movie{% endblock %} 12 | 13 | {% block content %} 14 |
15 |

Add a Movie

16 | {{ wtf.quick_form(form, novalidate=True) }} 17 |
18 | {% endblock %} -------------------------------------------------------------------------------- /Day 64/My Top 10 Movies Website/templates/edit.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block styles %} 5 | {{ super() }} 6 | 7 | 8 | 9 | {% endblock %} 10 | 11 | {% block title %}Edit Movies{% endblock %} 12 | 13 | {% block content %} 14 |
15 |

{{movie.title}}

16 |

Edit Movie Rating

17 | {{ wtf.quick_form(form, novalidate=True) }} 18 |
19 | {% endblock %} -------------------------------------------------------------------------------- /Day 64/My Top 10 Movies Website/templates/select.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | {% import "bootstrap/wtf.html" as wtf %} 3 | 4 | {% block styles %} 5 | {{ super() }} 6 | 7 | 8 | 9 | {% endblock %} 10 | 11 | {% block title %}Select Movie{% endblock %} 12 | 13 | {% block content %} 14 |
15 |

Select Movie

16 | {% for movie in options: %} 17 |

18 | {{ movie.title }} - {{movie.release_date}} 19 |

20 | {% endfor %} 21 | 22 |
23 | {% endblock %} -------------------------------------------------------------------------------- /Day 65/The Hotel/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 65/The Hotel/1.png -------------------------------------------------------------------------------- /Day 65/The Hotel/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 65/The Hotel/2.png -------------------------------------------------------------------------------- /Day 65/The Hotel/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 65/The Hotel/3.png -------------------------------------------------------------------------------- /Day 66/cafe api/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cafe&Wifi API 6 | 7 | 8 |

Welcome to the Cafe & Wifi API

9 | Read the Documentation 10 | 11 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/img/about-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/img/about-bg.jpg -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/img/contact-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/img/contact-bg.jpg -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/img/edit-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/img/edit-bg.jpg -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/scss/_bootstrap-overrides.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap overrides for this template 2 | .btn { 3 | font-size: 14px; 4 | font-weight: 800; 5 | padding: 15px 25px; 6 | letter-spacing: 1px; 7 | text-transform: uppercase; 8 | border-radius: 0; 9 | @include sans-serif-font; 10 | } 11 | 12 | .btn-primary { 13 | background-color: $primary; 14 | border-color: $primary; 15 | &:hover, 16 | &:focus, 17 | &:active { 18 | color: $white; 19 | background-color: darken($primary, 7.5) !important; 20 | border-color: darken($primary, 7.5) !important; 21 | } 22 | } 23 | 24 | .btn-lg { 25 | font-size: 16px; 26 | padding: 25px 35px; 27 | } 28 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/scss/_footer.scss: -------------------------------------------------------------------------------- 1 | // Styling for the footer 2 | footer { 3 | padding: 50px 0 65px; 4 | .list-inline { 5 | margin: 0; 6 | padding: 0; 7 | } 8 | .copyright { 9 | font-size: 14px; 10 | margin-bottom: 0; 11 | text-align: center; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/scss/_post.scss: -------------------------------------------------------------------------------- 1 | // Styling for the post page 2 | .post-preview { 3 | > a { 4 | color: $gray-900; 5 | &:focus, 6 | &:hover { 7 | text-decoration: none; 8 | color: $primary; 9 | } 10 | > .post-title { 11 | font-size: 30px; 12 | margin-top: 30px; 13 | margin-bottom: 10px; 14 | } 15 | > .post-subtitle { 16 | font-weight: 300; 17 | margin: 0 0 10px; 18 | } 19 | } 20 | > .post-meta { 21 | font-size: 18px; 22 | font-style: italic; 23 | margin-top: 0; 24 | color: $gray-600; 25 | > a { 26 | text-decoration: none; 27 | color: $gray-900; 28 | &:focus, 29 | &:hover { 30 | text-decoration: underline; 31 | color: $primary; 32 | } 33 | } 34 | } 35 | @media only screen and (min-width: 768px) { 36 | > a { 37 | > .post-title { 38 | font-size: 36px; 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | 3 | $white: #fff !default; 4 | $gray-100: #f8f9fa !default; 5 | $gray-200: #e9ecef !default; 6 | $gray-300: #dee2e6 !default; 7 | $gray-400: #ced4da !default; 8 | $gray-500: #adb5bd !default; 9 | $gray-600: #868e96 !default; 10 | $gray-700: #495057 !default; 11 | $gray-800: #343a40 !default; 12 | $gray-900: #212529 !default; 13 | $black: #000 !default; 14 | 15 | $blue: #007bff !default; 16 | $indigo: #6610f2 !default; 17 | $purple: #6f42c1 !default; 18 | $pink: #e83e8c !default; 19 | $red: #dc3545 !default; 20 | $orange: #fd7e14 !default; 21 | $yellow: #ffc107 !default; 22 | $green: #28a745 !default; 23 | $teal: #0085A1 !default; 24 | $cyan: #17a2b8 !default; 25 | 26 | $primary: $teal !default; 27 | $secondary: $gray-600 !default; 28 | $success: $green !default; 29 | $info: $cyan !default; 30 | $warning: $yellow !default; 31 | $danger: $red !default; 32 | $light: $gray-100 !default; 33 | $dark: $gray-800 !default; 34 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/scss/clean-blog.scss: -------------------------------------------------------------------------------- 1 | @import "variables.scss"; 2 | @import "mixins.scss"; 3 | @import "global.scss"; 4 | @import "navbar.scss"; 5 | @import "masthead.scss"; 6 | @import "post.scss"; 7 | @import "contact.scss"; 8 | @import "footer.scss"; 9 | @import "bootstrap-overrides.scss"; 10 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: block; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 67/RESTful blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /Day 67/RESTful blog/templates/make-post.html: -------------------------------------------------------------------------------- 1 | {% extends 'bootstrap/base.html' %} 2 | 3 | {% block content %} 4 | {% include "header.html" %} 5 | 6 |
7 |
8 |
9 |
10 |
11 |
12 |

New Post

13 | You're going to make a great blog post! 14 |
15 |
16 |
17 |
18 |
19 | 20 |
21 |
22 |
23 | 24 | 25 | 26 |
27 |
28 |
29 | 30 | {% include "footer.html" %} 31 | {% endblock %} -------------------------------------------------------------------------------- /Day 68/flask auth/static/files/cheat_sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 68/flask auth/static/files/cheat_sheet.pdf -------------------------------------------------------------------------------- /Day 68/flask auth/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 |
5 |

Flask Authentication

6 | {% if not logged_in: %} 7 | Login 8 | Register 9 | {% endif %} 10 |
11 | 12 | {% endblock %} -------------------------------------------------------------------------------- /Day 68/flask auth/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 |
5 |

Login

6 | {% with messages = get_flashed_messages() %} 7 | {% if messages %} 8 | {% for message in messages %} 9 |

{{ message }}

10 | {% endfor %} 11 | {% endif %} 12 | {% endwith %} 13 |
14 | 15 | 16 | 17 |
18 |
19 | 20 | {% endblock %} -------------------------------------------------------------------------------- /Day 68/flask auth/templates/register.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 |
5 |

Register

6 |
7 | 8 | 9 | 10 | 11 |
12 |
13 | 14 | {% endblock %} -------------------------------------------------------------------------------- /Day 68/flask auth/templates/secrets.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 |
5 |

Welcome, {{name}}!

6 | Download Your File 7 |
8 | {% endblock %} -------------------------------------------------------------------------------- /Day 69/Blog/static/img/about-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/img/about-bg.jpg -------------------------------------------------------------------------------- /Day 69/Blog/static/img/contact-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/img/contact-bg.jpg -------------------------------------------------------------------------------- /Day 69/Blog/static/img/edit-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/img/edit-bg.jpg -------------------------------------------------------------------------------- /Day 69/Blog/static/scss/_bootstrap-overrides.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap overrides for this template 2 | .btn { 3 | font-size: 14px; 4 | font-weight: 800; 5 | padding: 15px 25px; 6 | letter-spacing: 1px; 7 | text-transform: uppercase; 8 | border-radius: 0; 9 | @include sans-serif-font; 10 | } 11 | 12 | .btn-primary { 13 | background-color: $primary; 14 | border-color: $primary; 15 | &:hover, 16 | &:focus, 17 | &:active { 18 | color: $white; 19 | background-color: darken($primary, 7.5) !important; 20 | border-color: darken($primary, 7.5) !important; 21 | } 22 | } 23 | 24 | .btn-lg { 25 | font-size: 16px; 26 | padding: 25px 35px; 27 | } 28 | -------------------------------------------------------------------------------- /Day 69/Blog/static/scss/_footer.scss: -------------------------------------------------------------------------------- 1 | // Styling for the footer 2 | footer { 3 | padding: 50px 0 65px; 4 | .list-inline { 5 | margin: 0; 6 | padding: 0; 7 | } 8 | .copyright { 9 | font-size: 14px; 10 | margin-bottom: 0; 11 | text-align: center; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Day 69/Blog/static/scss/_post.scss: -------------------------------------------------------------------------------- 1 | // Styling for the post page 2 | .post-preview { 3 | > a { 4 | color: $gray-900; 5 | &:focus, 6 | &:hover { 7 | text-decoration: none; 8 | color: $primary; 9 | } 10 | > .post-title { 11 | font-size: 30px; 12 | margin-top: 30px; 13 | margin-bottom: 10px; 14 | } 15 | > .post-subtitle { 16 | font-weight: 300; 17 | margin: 0 0 10px; 18 | } 19 | } 20 | > .post-meta { 21 | font-size: 18px; 22 | font-style: italic; 23 | margin-top: 0; 24 | color: $gray-600; 25 | > a { 26 | text-decoration: none; 27 | color: $gray-900; 28 | &:focus, 29 | &:hover { 30 | text-decoration: underline; 31 | color: $primary; 32 | } 33 | } 34 | } 35 | @media only screen and (min-width: 768px) { 36 | > a { 37 | > .post-title { 38 | font-size: 36px; 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Day 69/Blog/static/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | 3 | $white: #fff !default; 4 | $gray-100: #f8f9fa !default; 5 | $gray-200: #e9ecef !default; 6 | $gray-300: #dee2e6 !default; 7 | $gray-400: #ced4da !default; 8 | $gray-500: #adb5bd !default; 9 | $gray-600: #868e96 !default; 10 | $gray-700: #495057 !default; 11 | $gray-800: #343a40 !default; 12 | $gray-900: #212529 !default; 13 | $black: #000 !default; 14 | 15 | $blue: #007bff !default; 16 | $indigo: #6610f2 !default; 17 | $purple: #6f42c1 !default; 18 | $pink: #e83e8c !default; 19 | $red: #dc3545 !default; 20 | $orange: #fd7e14 !default; 21 | $yellow: #ffc107 !default; 22 | $green: #28a745 !default; 23 | $teal: #0085A1 !default; 24 | $cyan: #17a2b8 !default; 25 | 26 | $primary: $teal !default; 27 | $secondary: $gray-600 !default; 28 | $success: $green !default; 29 | $info: $cyan !default; 30 | $warning: $yellow !default; 31 | $danger: $red !default; 32 | $light: $gray-100 !default; 33 | $dark: $gray-800 !default; 34 | -------------------------------------------------------------------------------- /Day 69/Blog/static/scss/clean-blog.scss: -------------------------------------------------------------------------------- 1 | @import "variables.scss"; 2 | @import "mixins.scss"; 3 | @import "global.scss"; 4 | @import "navbar.scss"; 5 | @import "masthead.scss"; 6 | @import "post.scss"; 7 | @import "contact.scss"; 8 | @import "footer.scss"; 9 | @import "bootstrap-overrides.scss"; 10 | -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: block; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 69/Blog/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /Day 7/__pycache__/HangMan_Art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 7/__pycache__/HangMan_Art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 7/__pycache__/HangMan_Words.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 7/__pycache__/HangMan_Words.cpython-37.pyc -------------------------------------------------------------------------------- /Day 73/LEGO Notebook and Data/assets/bricks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 73/LEGO Notebook and Data/assets/bricks.jpg -------------------------------------------------------------------------------- /Day 73/LEGO Notebook and Data/assets/lego_sets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 73/LEGO Notebook and Data/assets/lego_sets.png -------------------------------------------------------------------------------- /Day 73/LEGO Notebook and Data/assets/lego_themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 73/LEGO Notebook and Data/assets/lego_themes.png -------------------------------------------------------------------------------- /Day 73/LEGO Notebook and Data/assets/rebrickable_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 73/LEGO Notebook and Data/assets/rebrickable_schema.png -------------------------------------------------------------------------------- /Day 76/Computation with Numpy/yummy_macarons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 76/Computation with Numpy/yummy_macarons.jpg -------------------------------------------------------------------------------- /Day 79/Dr Semmelweis Analysis/annual_deaths_by_clinic.csv: -------------------------------------------------------------------------------- 1 | year,births,deaths,clinic 2 | 1841,3036,237,clinic 1 3 | 1842,3287,518,clinic 1 4 | 1843,3060,274,clinic 1 5 | 1844,3157,260,clinic 1 6 | 1845,3492,241,clinic 1 7 | 1846,4010,459,clinic 1 8 | 1841,2442,86,clinic 2 9 | 1842,2659,202,clinic 2 10 | 1843,2739,164,clinic 2 11 | 1844,2956,68,clinic 2 12 | 1845,3241,66,clinic 2 13 | 1846,3754,105,clinic 2 14 | -------------------------------------------------------------------------------- /Day 8/1.Day Exercise.py: -------------------------------------------------------------------------------- 1 | # Simple Function 2 | # def greet(): 3 | # print("Hello Rajdip") 4 | # print("How do you do Deba?") 5 | # print("Isn't the weather nice today?") 6 | 7 | # greet() 8 | 9 | # Function that allows for input 10 | # 'name' is the parameter. 11 | # 'Deba' is the argument. 12 | 13 | # def greet_with_name(name): 14 | # print(f"Hello {name}") 15 | # print(f"How do you do {name}?") 16 | 17 | # greet_with_name("Deba") 18 | 19 | # Functions with more than 1 input 20 | def greet_with(name, location): 21 | print(f"Hello {name}") 22 | print(f"What is it like in {location}?") 23 | 24 | 25 | # Calling greet_with() with Positional Arguments 26 | # greet_with("Debodip", "Nowhere") 27 | 28 | # vs. 29 | # greet_with("Nowhere", "Debodip") 30 | 31 | 32 | # Calling greet_with() with Keyword Arguments 33 | greet_with(location="London", name="Rajdip") 34 | -------------------------------------------------------------------------------- /Day 8/2.Paint Area Calculator.py: -------------------------------------------------------------------------------- 1 | # Write your code below this line 👇 2 | import math 3 | 4 | def paint_calc(height, width, cover): 5 | can_number = (height*width)/cover 6 | can_number = math.ceil(can_number) 7 | print(f"You'll need {can_number} cans of paint.") 8 | 9 | # Write your code above this line 👆 10 | # Define a function called paint_calc() so that the code below works. 11 | 12 | # 🚨 Don't change the code below 👇 13 | test_h = int(input("Height of wall: ")) 14 | test_w = int(input("Width of wall: ")) 15 | coverage = 5 16 | paint_calc(height=test_h, width=test_w, cover=coverage) 17 | -------------------------------------------------------------------------------- /Day 8/3.Prime Numbers.py: -------------------------------------------------------------------------------- 1 | #Write your code below this line 👇 2 | 3 | def prime_checker(number): 4 | is_prime = True 5 | for i in range(2, number): 6 | if number % i == 0: 7 | is_prime = False 8 | if is_prime: 9 | print("It's a prime number.") 10 | else: 11 | print("It's not a prime number.") 12 | 13 | 14 | #Write your code above this line 👆 15 | 16 | #Do NOT change any of the code below👇 17 | n = int(input("Check this number: ")) 18 | prime_checker(number=n) 19 | -------------------------------------------------------------------------------- /Day 8/Project Caesar Cipher/Art.py: -------------------------------------------------------------------------------- 1 | logo = """ 2 | ,adPPYba, ,adPPYYba, ,adPPYba, ,adPPYba, ,adPPYYba, 8b,dPPYba, 3 | a8" "" "" `Y8 a8P_____88 I8[ "" "" `Y8 88P' "Y8 4 | 8b ,adPPPPP88 8PP""""""" `"Y8ba, ,adPPPPP88 88 5 | "8a, ,aa 88, ,88 "8b, ,aa aa ]8I 88, ,88 88 6 | `"Ybbd8"' `"8bbdP"Y8 `"Ybbd8"' `"YbbdP"' `"8bbdP"Y8 88 7 | 88 88 8 | "" 88 9 | 88 10 | ,adPPYba, 88 8b,dPPYba, 88,dPPYba, ,adPPYba, 8b,dPPYba, 11 | a8" "" 88 88P' "8a 88P' "8a a8P_____88 88P' "Y8 12 | 8b 88 88 d8 88 88 8PP""""""" 88 13 | "8a, ,aa 88 88b, ,a8" 88 88 "8b, ,aa 88 14 | `"Ybbd8"' 88 88`YbbdP"' 88 88 `"Ybbd8"' 88 15 | 88 16 | 88 17 | """ 18 | -------------------------------------------------------------------------------- /Day 8/Project Caesar Cipher/__pycache__/Art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 8/Project Caesar Cipher/__pycache__/Art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 9/2.Grading Program.py: -------------------------------------------------------------------------------- 1 | student_scores = { 2 | "Harry": 81, 3 | "Ron": 78, 4 | "Hermione": 99, 5 | "Draco": 74, 6 | "Neville": 62, 7 | } 8 | # 🚨 Don't change the code above 👆 9 | 10 | # Create an empty dictionary called student_grades. 11 | student_grades = {} 12 | 13 | # Write your code below to add the grades to student_grades.👇 14 | for key in student_scores: 15 | if student_scores[key] <= 70: 16 | student_grades[key] = "Fail" 17 | elif student_scores[key] > 70 and student_scores[key] <= 80: 18 | student_grades[key] = "Acceptable" 19 | elif student_scores[key] > 80 and student_scores[key] <= 90: 20 | student_grades[key] = "Exceeds Expectations" 21 | elif student_scores[key] > 90 and student_scores[key] <= 100: 22 | student_grades[key] = "Outstanding" 23 | 24 | 25 | # 🚨 Don't change the code below 👇 26 | print(student_grades) 27 | -------------------------------------------------------------------------------- /Day 9/3.Dictionary in List.py: -------------------------------------------------------------------------------- 1 | travel_log = [ 2 | { 3 | "country": "France", 4 | "visits": 12, 5 | "cities": ["Paris", "Lille", "Dijon"] 6 | }, 7 | { 8 | "country": "Germany", 9 | "visits": 5, 10 | "cities": ["Berlin", "Hamburg", "Stuttgart"] 11 | }, 12 | ] 13 | 14 | # 🚨 Do NOT change the code above 15 | 16 | # Write the function that will allow new countries 17 | # to be added to the travel_log. 👇 18 | 19 | 20 | def add_new_country(country_visited, times_visited, cities_visited): 21 | new_country = {} 22 | new_country["country"] = country_visited 23 | new_country["visits"] = times_visited 24 | new_country["cities"] = cities_visited 25 | travel_log.append(new_country) 26 | 27 | 28 | # 🚨 Do not change the code below 29 | add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"]) 30 | print(travel_log) 31 | -------------------------------------------------------------------------------- /Day 9/Project The Secret Auction/__pycache__/art.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajdip20/80-Day-With-Python/a8c10e058ca15da304bbaa41320bfcba7fb88bb7/Day 9/Project The Secret Auction/__pycache__/art.cpython-37.pyc -------------------------------------------------------------------------------- /Day 9/Project The Secret Auction/art.py: -------------------------------------------------------------------------------- 1 | logo = ''' 2 | ___________ 3 | \ / 4 | )_______( 5 | |"""""""|_.-._,.---------.,_.-._ 6 | | | | | | | ''-. 7 | | |_| |_ _| |_..-' 8 | |_______| '-' `'---------'` '-' 9 | )"""""""( 10 | /_________\\ 11 | .-------------. 12 | /_______________\\ 13 | ''' 14 | --------------------------------------------------------------------------------