├── 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 | - Play video games
11 | - Cycling
12 | - Traveling
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Day 41/HTML - Personal Site/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Rajdip's Personal Site
6 |
7 |
8 |
9 |
10 | Rajdip Das
11 | Student of Future Institute of Engineering and Management.
12 | I am a Engineering Student. I ❤ Tea.
13 |
14 | Educations
15 |
16 | - Complete High School in 2019.
17 | - Complete College in 2023.
18 |
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 |
22 |
23 |
--------------------------------------------------------------------------------
/Day 42/HTML - Personal Site/hobbies.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | My Hobbies
6 |
7 |
8 | Hy Hobbies
9 |
10 | - Play video games
11 | - Cycling
12 | - Traveling
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 | One |
14 | Two |
15 |
16 |
17 | Three |
18 | Four |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Day 42/HTML Inputs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HTML Inputs
6 |
7 |
8 |
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 |
16 |
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 |
23 |
24 |
--------------------------------------------------------------------------------
/Day 43/HTML - Personal Site/hobbies.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | My Hobbies
6 |
7 |
8 |
9 | Hy Hobbies
10 |
11 | - Play video games
12 | - Cycling
13 | - Traveling
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 | - Play video games
11 | - Cycling
12 | - Traveling
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 |
10 | Rajdip Das
11 | Student of Future Institute of Engineering and Management.
12 | I am a Engineering Student. I ❤ Tea.
13 |
14 | Educations
15 |
16 | - Complete High School in 2019.
17 | - Complete College in 2023.
18 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
17 |
18 |
--------------------------------------------------------------------------------
/Day 63/Files Library/templates/edit_rating.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Edit Rating
6 |
7 |
8 |
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 |
13 | {% for book in books %}
14 | -
15 | Delete
16 | {{book.title}} - {{book.author}} - {{book.rating}}/10
17 | Edit Rating
18 |
19 | {% endfor %}
20 |
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 |
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 |
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 |
19 |
20 | {% endblock %}
--------------------------------------------------------------------------------
/Day 68/flask auth/templates/register.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block content %}
3 |
4 |
5 |
Register
6 |
12 |
13 |
14 | {% endblock %}
--------------------------------------------------------------------------------
/Day 68/flask auth/templates/secrets.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block content %}
3 |
4 |
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 |
--------------------------------------------------------------------------------