`** for table rows, and **``** for table columns.
75 | ---
76 |
77 | ## Install Necessary Modules:
78 |
79 | Open your [](https://www.continuum.io/downloads) Prompt and type and run the following command (individually):
80 |
81 | - pip install requests
82 | - pip install lxml
83 | - pip install bs4
84 |
85 | ### requests
86 | * Use the requests library to grab the page.
87 | * This may fail if you have a firewall blocking Python/Jupyter.
88 | * Sometimes you need to run this twice if it fails the first time.
89 |
90 |
91 | ### Beautiful soup
92 | **[BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)** library already has lots of built-in tools and methods to grab information from a string of this nature (basically an HTML file). It is a Python library for pulling data out of HTML and XML files.
93 |
94 | Using BeautifulSoup we can create a "soup" object that contains all the "ingredients" of the webpage.
95 |
96 | Once Installed now we can import it inside our python code.
97 |
98 | ---
99 |
100 | ## Frequently asked questions ❔
101 |
102 | ### How can I thank you for writing and sharing this tutorial? 🌷
103 |
104 | You can and Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
105 |
106 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
107 |
108 | ---
109 |
110 | ### How can I read this tutorial without an Internet connection?
111 |
112 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
113 |
114 | 
115 |
116 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
117 |
118 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
119 |
120 | `Kernel > Restart & Clear Output`
121 |
122 | This will clear all the outputs and now you can understand each statement and learn interactively.
123 |
124 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
125 |
126 | ---
127 |
128 | ## Authors ✍️
129 |
130 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
131 |
132 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
133 |
134 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
135 |
136 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
137 |
138 | ---
139 |
140 | ## Licence 📜
141 |
142 | You may use this tutorial freely at your own risk. See [LICENSE](https://github.com/milaan9/91_Python_Mini_Projects/blob/main/LICENSE).
143 |
144 | Copyright (c) 2020 Dr. Milaan Parmar
145 |
146 | ---
147 |
148 |
149 | Connect with me
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
--------------------------------------------------------------------------------
/015_Web_Scraping_Covid-19_Data/wordometer1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/015_Web_Scraping_Covid-19_Data/wordometer1.png
--------------------------------------------------------------------------------
/015_Web_Scraping_Covid-19_Data/wordometer2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/015_Web_Scraping_Covid-19_Data/wordometer2.png
--------------------------------------------------------------------------------
/016_Web_Scraping_CoWin_Vaccine_Slots/CoWin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/016_Web_Scraping_CoWin_Vaccine_Slots/CoWin.png
--------------------------------------------------------------------------------
/016_Web_Scraping_CoWin_Vaccine_Slots/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | # Web Scraping CoWin Vaccine Slots
9 |
10 | In this class, you'll learn how to perform web scraping on CoWin vaccine slots.
11 |
12 |
13 | ## Prerequisites:
14 |
15 | 1. Python Basics
16 | 2. HTML Basics
17 | 3. requests module
18 | 7. pygame module
19 |
20 | ---
21 |
22 | ### 1. What is Web Scrapping??
23 |
24 | **[Web scraping](https://en.wikipedia.org/wiki/Web_scraping)**, also known as web **data extraction**, is the process of retrieving or “scraping” data from a website. This information is collected and then exported into a format that is more useful for the user. Be it a spreadsheet or an API.
25 |
26 | #### Two important points to be taken into consideration here:
27 |
28 | 1. Always be respectful and try to get permission to scrape, do not bombard a website with scraping requests, otherwise, your IP address may get blocked!
29 | 2. Be aware that websites change often, meaning your code could go from working to totally broken from one day to the next.
30 |
31 | #### The Process:
32 | 1. Request for a response from the webpage
33 | 2. Parse and extract with the help of Beautiful soup and lxml
34 | 3. Download and export the data with pandas into excel
35 |
36 | #### Uses
37 | It can serve several purposes, most popular ones are Investment Decision Making, Competitor Monitoring, News Monitoring, Market Trend Analysis, Appraising Property Value, Estimating Rental Yields, Politics and Campaigns and many more.
38 |
39 | ### 2. Covid-19 Data Source
40 |
41 | We will use **[CoWin](https://www.cowin.gov.in/)** website to fetch the data because we are interested in the data contained in a table at CoWin’s website, where there are lists all the available slots for vaccination along with the types of vaccines and their prices.
42 |
43 |
44 |
45 |
46 |
47 |
48 | ### 3. HTML
49 |
50 | ```html
51 |
52 |
53 |
54 |
55 |
56 | Scrapping
57 | Hello
58 |
59 |
60 | ```
61 |
62 | * **``**: HTML documents must start with a type declaration.
63 | * The HTML document is contained between **``** and **``** .
64 | * The meta and script declaration of the HTML document is between **``** and **``** .
65 | * The visible part of the HTML document is between **``** and **``** tags.
66 | * Title headings are defined with the **` `** through **``** tags.
67 | * Paragraphs are defined with the **``** tag.
68 | * Other useful tags include **``** for hyperlinks, **` `** for tables, **``** for table rows, and **``** for table columns.
69 | ---
70 |
71 | ## Install Necessary Modules:
72 |
73 | Open your [](https://www.continuum.io/downloads) Prompt and type and run the following command (individually):
74 |
75 | - pip install requests
76 | - pip install pygame
77 |
78 | ### requests
79 | * Use the requests library to grab the page.
80 | * This may fail if you have a firewall blocking Python/Jupyter.
81 | * Sometimes you need to run this twice if it fails the first time.
82 |
83 | Once Installed now we can import it inside our python code.
84 |
85 | ---
86 |
87 | ## Frequently asked questions ❔
88 |
89 | ### How can I thank you for writing and sharing this tutorial? 🌷
90 |
91 | You can and Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
92 |
93 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
94 |
95 | ---
96 |
97 | ### How can I read this tutorial without an Internet connection?
98 |
99 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
100 |
101 | 
102 |
103 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
104 |
105 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
106 |
107 | `Kernel > Restart & Clear Output`
108 |
109 | This will clear all the outputs and now you can understand each statement and learn interactively.
110 |
111 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
112 |
113 | ---
114 |
115 | ## Authors ✍️
116 |
117 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
118 |
119 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
120 |
121 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
122 |
123 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
124 |
125 | ---
126 |
127 | ## Licence 📜
128 |
129 | You may use this tutorial freely at your own risk. See [LICENSE](https://github.com/milaan9/91_Python_Mini_Projects/blob/main/LICENSE).
130 |
131 | Copyright (c) 2020 Dr. Milaan Parmar
132 |
133 | ---
134 |
135 |
136 | Connect with me
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | # Check Weather Forecast with GUI
9 |
10 | In this class, you'll learn how to check weather forecast with GUI using python
11 |
12 |
13 |
14 |
15 |
16 |
17 | ## Prerequisites:
18 |
19 | 1. Python Basics
20 | 2. tkinter module
21 | 3. tkinter.ttk module
22 |
23 | ---
24 |
25 |
26 | ## Install Necessary Modules:
27 |
28 | Since **`tkinter`** and **`tkinter.ttk`** modules are in-built modules, hence we do not need to install them separately.
29 |
30 | ---
31 |
32 | ## Frequently asked questions ❔
33 |
34 | ### How can I thank you for writing and sharing this tutorial? 🌷
35 |
36 | You can  and  Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
37 |
38 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
39 |
40 | ---
41 |
42 | ### How can I read this tutorial without an Internet connection? 
43 |
44 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
45 |
46 | 
47 |
48 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
49 |
50 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
51 |
52 | `Kernel > Restart & Clear Output`
53 |
54 | This will clear all the outputs and now you can understand each statement and learn interactively.
55 |
56 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
57 |
58 | ---
59 |
60 | ## Authors ✍️
61 |
62 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
63 |
64 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
65 |
66 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
67 |
68 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
69 |
70 | ---
71 |
72 | ## Licence 📜
73 |
74 | You may use this tutorial freely at your own risk. See [LICENSE](https://github.com/milaan9/91_Python_Mini_Projects/blob/main/LICENSE).
75 |
76 | Copyright (c) 2020 Dr. Milaan Parmar
77 |
78 | ---
79 |
80 |
81 | Connect with me
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/get_weather_icons.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | " \n",
8 | "All the IPython Notebooks in **Python Mini-Projects** series by Dr. Milaan Parmar are available @ **[GitHub](https://github.com/milaan9/91_Python_Mini_Projects)**\n",
9 | ""
10 | ]
11 | },
12 | {
13 | "cell_type": "code",
14 | "execution_count": null,
15 | "metadata": {
16 | "ExecuteTime": {
17 | "start_time": "2021-08-09T09:46:34.731Z"
18 | }
19 | },
20 | "outputs": [],
21 | "source": [
22 | "import os\n",
23 | "import urllib.request\n",
24 | "\n",
25 | "day = ['01d.png', '02d.png', '03d.png', '04d.png', '09d.png', '10d.png', '11d.png', '13n.png', '50d.png']\n",
26 | "night = ['01n.png', '02n.png', '03n.png', '04n.png', '09n.png', '10n.png', '11n.png', '13n.png', '50n.png']\n",
27 | "\n",
28 | "base_url = 'https://openweathermap.org/img/w/'\n",
29 | "img_dir = './img/'\n",
30 | "if not os.path.exists(img_dir):\n",
31 | "\tos.makedirs(img_dir)\n",
32 | "\n",
33 | "# Get the day weather icons\n",
34 | "for name in day:\n",
35 | "\tfile_name = img_dir+name\n",
36 | "\tif not os.path.exists(file_name):\n",
37 | "\t\turllib.request.urlretrieve(base_url+name, file_name)\n",
38 | "\n",
39 | "# Repeat the same thing for night weather icons\n",
40 | "for name in night:\n",
41 | "\tfile_name = img_dir+name\n",
42 | "\tif not os.path.exists(file_name):\n",
43 | "\t\turllib.request.urlretrieve(base_url+name, file_name)"
44 | ]
45 | }
46 | ],
47 | "metadata": {
48 | "hide_input": false,
49 | "kernelspec": {
50 | "display_name": "Python 3",
51 | "language": "python",
52 | "name": "python3"
53 | },
54 | "language_info": {
55 | "codemirror_mode": {
56 | "name": "ipython",
57 | "version": 3
58 | },
59 | "file_extension": ".py",
60 | "mimetype": "text/x-python",
61 | "name": "python",
62 | "nbconvert_exporter": "python",
63 | "pygments_lexer": "ipython3",
64 | "version": "3.8.8"
65 | },
66 | "toc": {
67 | "base_numbering": 1,
68 | "nav_menu": {},
69 | "number_sections": true,
70 | "sideBar": true,
71 | "skip_h1_title": false,
72 | "title_cell": "Table of Contents",
73 | "title_sidebar": "Contents",
74 | "toc_cell": false,
75 | "toc_position": {},
76 | "toc_section_display": true,
77 | "toc_window_display": false
78 | },
79 | "varInspector": {
80 | "cols": {
81 | "lenName": 16,
82 | "lenType": 16,
83 | "lenVar": 40
84 | },
85 | "kernels_config": {
86 | "python": {
87 | "delete_cmd_postfix": "",
88 | "delete_cmd_prefix": "del ",
89 | "library": "var_list.py",
90 | "varRefreshCmd": "print(var_dic_list())"
91 | },
92 | "r": {
93 | "delete_cmd_postfix": ") ",
94 | "delete_cmd_prefix": "rm(",
95 | "library": "var_list.r",
96 | "varRefreshCmd": "cat(var_dic_list()) "
97 | }
98 | },
99 | "types_to_exclude": [
100 | "module",
101 | "function",
102 | "builtin_function_or_method",
103 | "instance",
104 | "_Feature"
105 | ],
106 | "window_display": false
107 | }
108 | },
109 | "nbformat": 4,
110 | "nbformat_minor": 4
111 | }
112 |
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/01d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/01d.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/02d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/02d.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/03d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/03d.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/04d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/04d.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/landscape.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/result_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/result_1.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/result_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/result_2.png
--------------------------------------------------------------------------------
/017_Check_Weather_Forecast_with_GUI/img/sun_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/017_Check_Weather_Forecast_with_GUI/img/sun_icon.ico
--------------------------------------------------------------------------------
/018_Draw_Sakura_Tree/018_Draw_Sakura_Tree.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | " \n",
8 | "All the IPython Notebooks in **Python Mini-Projects** series by Dr. Milaan Parmar are available @ **[GitHub](https://github.com/milaan9/91_Python_Mini_Projects)**\n",
9 | ""
10 | ]
11 | },
12 | {
13 | "cell_type": "markdown",
14 | "metadata": {},
15 | "source": [
16 | "# Python Program to draw Sakura Tree"
17 | ]
18 | },
19 | {
20 | "cell_type": "code",
21 | "execution_count": 1,
22 | "metadata": {
23 | "ExecuteTime": {
24 | "end_time": "2021-09-21T08:32:47.179568Z",
25 | "start_time": "2021-09-21T08:32:37.930039Z"
26 | }
27 | },
28 | "outputs": [],
29 | "source": [
30 | "'''\n",
31 | "Python Program to Create Digital Clock\n",
32 | "'''\n",
33 | "\n",
34 | "# Import necessary modules!\n",
35 | "import turtle\n",
36 | "import random\n",
37 | "from turtle import *\n",
38 | "from time import sleep\n",
39 | "\n",
40 | "static_turtle = turtle.Turtle()\n",
41 | "frame = turtle.Screen()\n",
42 | "\n",
43 | "def tree(branch_len, inner_turtle):\n",
44 | " if branch_len > 3:\n",
45 | " if 9 <= branch_len <= 12:\n",
46 | " if random.randint(0, 2) == 0:\n",
47 | " inner_turtle.color(\"snow\")\n",
48 | " else:\n",
49 | " inner_turtle.color(\"lightcoral\")\n",
50 | " inner_turtle.pensize(branch_len / 3)\n",
51 | " elif branch_len < 9:\n",
52 | " if random.randint(0, 1) == 0:\n",
53 | " inner_turtle.color(\"snow\")\n",
54 | " else:\n",
55 | " inner_turtle.color(\"lightcoral\")\n",
56 | " inner_turtle.pensize(branch_len / 2)\n",
57 | " else:\n",
58 | " inner_turtle.color(\"sienna\")\n",
59 | " inner_turtle.pensize(branch_len / 10)\n",
60 | "\n",
61 | " inner_turtle.forward(branch_len)\n",
62 | " angle_elem = 1.5 * random.random()\n",
63 | " inner_turtle.right(20 * angle_elem)\n",
64 | " length_elem = 1.5 * random.random()\n",
65 | " tree(branch_len - 10 * length_elem, inner_turtle)\n",
66 | " inner_turtle.left(40 * angle_elem)\n",
67 | " tree(branch_len - 10 * length_elem, inner_turtle)\n",
68 | " inner_turtle.right(20 * angle_elem)\n",
69 | " inner_turtle.up()\n",
70 | " inner_turtle.backward(branch_len)\n",
71 | " inner_turtle.down()\n",
72 | " \n",
73 | "def petal(maxim, inner_turtle):\n",
74 | " for i in range(maxim):\n",
75 | " right_branch = 300 - 500 * random.random()\n",
76 | " left_branch = 30 - 50 * random.random()\n",
77 | " inner_turtle.up()\n",
78 | " inner_turtle.forward(left_branch)\n",
79 | " inner_turtle.left(90)\n",
80 | " inner_turtle.forward(right_branch)\n",
81 | " inner_turtle.down()\n",
82 | " inner_turtle.color(\"lightcoral\")\n",
83 | " inner_turtle.circle(1)\n",
84 | " inner_turtle.up()\n",
85 | " inner_turtle.backward(right_branch)\n",
86 | " inner_turtle.right(90)\n",
87 | " inner_turtle.backward(left_branch)\n",
88 | " \n",
89 | "if __name__ == '__main__':\n",
90 | " static_turtle = turtle.Turtle()\n",
91 | " my_frame = turtle.Screen()\n",
92 | " getscreen().tracer(5, 0)\n",
93 | " turtle.screensize(bg=\"#f3cef5\") \n",
94 | " static_turtle.left(90)\n",
95 | " static_turtle.up()\n",
96 | " static_turtle.backward(150)\n",
97 | " static_turtle.down()\n",
98 | " static_turtle.color(\"sienna\") \n",
99 | " tree(60, static_turtle)\n",
100 | " petal(100, static_turtle)\n",
101 | " my_frame.exitonclick() "
102 | ]
103 | },
104 | {
105 | "cell_type": "markdown",
106 | "metadata": {},
107 | "source": [
108 | " \n",
109 | " \n",
110 | " "
111 | ]
112 | },
113 | {
114 | "cell_type": "code",
115 | "execution_count": null,
116 | "metadata": {},
117 | "outputs": [],
118 | "source": []
119 | }
120 | ],
121 | "metadata": {
122 | "hide_input": false,
123 | "kernelspec": {
124 | "display_name": "Python 3",
125 | "language": "python",
126 | "name": "python3"
127 | },
128 | "language_info": {
129 | "codemirror_mode": {
130 | "name": "ipython",
131 | "version": 3
132 | },
133 | "file_extension": ".py",
134 | "mimetype": "text/x-python",
135 | "name": "python",
136 | "nbconvert_exporter": "python",
137 | "pygments_lexer": "ipython3",
138 | "version": "3.8.8"
139 | },
140 | "toc": {
141 | "base_numbering": 1,
142 | "nav_menu": {},
143 | "number_sections": true,
144 | "sideBar": true,
145 | "skip_h1_title": false,
146 | "title_cell": "Table of Contents",
147 | "title_sidebar": "Contents",
148 | "toc_cell": false,
149 | "toc_position": {},
150 | "toc_section_display": true,
151 | "toc_window_display": false
152 | },
153 | "varInspector": {
154 | "cols": {
155 | "lenName": 16,
156 | "lenType": 16,
157 | "lenVar": 40
158 | },
159 | "kernels_config": {
160 | "python": {
161 | "delete_cmd_postfix": "",
162 | "delete_cmd_prefix": "del ",
163 | "library": "var_list.py",
164 | "varRefreshCmd": "print(var_dic_list())"
165 | },
166 | "r": {
167 | "delete_cmd_postfix": ") ",
168 | "delete_cmd_prefix": "rm(",
169 | "library": "var_list.r",
170 | "varRefreshCmd": "cat(var_dic_list()) "
171 | }
172 | },
173 | "types_to_exclude": [
174 | "module",
175 | "function",
176 | "builtin_function_or_method",
177 | "instance",
178 | "_Feature"
179 | ],
180 | "window_display": false
181 | }
182 | },
183 | "nbformat": 4,
184 | "nbformat_minor": 4
185 | }
186 |
--------------------------------------------------------------------------------
/018_Draw_Sakura_Tree/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | # Draw Sakura Tree
9 |
10 | In this class, you'll learn how to draw Sakura tree using python
11 |
12 |
13 |
14 |
15 |
16 |
17 | ## Prerequisites:
18 |
19 | 1. Python Basics
20 | 2. turtle module
21 |
22 | ---
23 |
24 | ## Install Necessary Modules:
25 |
26 | Open your [](https://www.anaconda.com/products/individual) Prompt  and type and run the following command (individually):
27 |
28 | - pip install turtle
29 |
30 | **[`turtle`](https://docs.python.org/3/library/turtle.html)** is a pre-installed Python library that allows users to create pictures and shapes with a provided, virtual canvas. We can use functions like turtle.forward(…) and turtle.right(…) which can move the turtle around. The onscreen pen you use to draw is called the turtle.
31 |
32 | Once Installed now we can import it inside our python code.
33 |
34 | ---
35 |
36 | ## Frequently asked questions ❔
37 |
38 | ### How can I thank you for writing and sharing this tutorial? 🌷
39 |
40 | You can  and  Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
41 |
42 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
43 |
44 | ---
45 |
46 | ### How can I read this tutorial without an Internet connection? 
47 |
48 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
49 |
50 | 
51 |
52 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
53 |
54 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
55 |
56 | `Kernel > Restart & Clear Output`
57 |
58 | This will clear all the outputs and now you can understand each statement and learn interactively.
59 |
60 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
61 |
62 | ---
63 |
64 | ## Authors ✍️
65 |
66 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
67 |
68 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
69 |
70 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
71 |
72 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
73 |
74 | ---
75 |
76 | ## Licence 📜
77 |
78 | You may use this tutorial freely at your own risk. See [LICENSE](https://github.com/milaan9/91_Python_Mini_Projects/blob/main/LICENSE).
79 |
80 | Copyright (c) 2020 Dr. Milaan Parmar
81 |
82 | ---
83 |
84 |
85 | Connect with me
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/018_Draw_Sakura_Tree/sakura.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/018_Draw_Sakura_Tree/sakura.png
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/019_Plagiarism_Checker.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | " \n",
8 | "All the IPython Notebooks in **Python Mini-Projects** series by Dr. Milaan Parmar are available @ **[GitHub](https://github.com/milaan9/91_Python_Mini_Projects)**\n",
9 | ""
10 | ]
11 | },
12 | {
13 | "cell_type": "markdown",
14 | "metadata": {},
15 | "source": [
16 | "# Python Program to Check Plagiarism "
17 | ]
18 | },
19 | {
20 | "cell_type": "code",
21 | "execution_count": 1,
22 | "metadata": {
23 | "ExecuteTime": {
24 | "end_time": "2021-10-05T13:06:11.749110Z",
25 | "start_time": "2021-10-05T13:06:09.467318Z"
26 | }
27 | },
28 | "outputs": [
29 | {
30 | "name": "stdout",
31 | "output_type": "stream",
32 | "text": [
33 | "Similarity data:\n",
34 | " ('Ben.txt', 'Clark.txt', 0.408904884400347)\n",
35 | "Similarity data:\n",
36 | " ('Arthur.txt', 'Clark.txt', 0.5430431121089816)\n",
37 | "Similarity data:\n",
38 | " ('Arthur.txt', 'Ben.txt', 0.4595329317649595)\n"
39 | ]
40 | }
41 | ],
42 | "source": [
43 | "'''\n",
44 | "Python Program to Check Plagiarism \n",
45 | "'''\n",
46 | "\n",
47 | "# Import necessary modules!\n",
48 | "import os\n",
49 | "from sklearn.feature_extraction.text import TfidfVectorizer\n",
50 | "from sklearn.metrics.pairwise import cosine_similarity\n",
51 | "\n",
52 | "student_files = [doc for doc in os.listdir() if doc.endswith('.txt')]\n",
53 | "student_notes = [open(_file, encoding='utf-8').read()\n",
54 | " for _file in student_files]\n",
55 | "\n",
56 | "\n",
57 | "def vectorize(Text): return TfidfVectorizer().fit_transform(Text).toarray()\n",
58 | "def similarity(doc1, doc2): return cosine_similarity([doc1, doc2])\n",
59 | "\n",
60 | "\n",
61 | "vectors = vectorize(student_notes)\n",
62 | "s_vectors = list(zip(student_files, vectors))\n",
63 | "plagiarism_results = set()\n",
64 | "\n",
65 | "\n",
66 | "def check_plagiarism():\n",
67 | " global s_vectors\n",
68 | " for student_a, text_vector_a in s_vectors:\n",
69 | " new_vectors = s_vectors.copy()\n",
70 | " current_index = new_vectors.index((student_a, text_vector_a))\n",
71 | " del new_vectors[current_index]\n",
72 | " for student_b, text_vector_b in new_vectors:\n",
73 | " sim_score = similarity(text_vector_a, text_vector_b)[0][1]\n",
74 | " student_pair = sorted((student_a, student_b))\n",
75 | " score = (student_pair[0], student_pair[1], sim_score)\n",
76 | " plagiarism_results.add(score)\n",
77 | " return plagiarism_results\n",
78 | "\n",
79 | "\n",
80 | "for data in check_plagiarism():\n",
81 | " print(\"Similarity data:\\n\", data) "
82 | ]
83 | },
84 | {
85 | "cell_type": "code",
86 | "execution_count": null,
87 | "metadata": {},
88 | "outputs": [],
89 | "source": []
90 | }
91 | ],
92 | "metadata": {
93 | "hide_input": false,
94 | "kernelspec": {
95 | "display_name": "Python 3",
96 | "language": "python",
97 | "name": "python3"
98 | },
99 | "language_info": {
100 | "codemirror_mode": {
101 | "name": "ipython",
102 | "version": 3
103 | },
104 | "file_extension": ".py",
105 | "mimetype": "text/x-python",
106 | "name": "python",
107 | "nbconvert_exporter": "python",
108 | "pygments_lexer": "ipython3",
109 | "version": "3.8.8"
110 | },
111 | "toc": {
112 | "base_numbering": 1,
113 | "nav_menu": {},
114 | "number_sections": true,
115 | "sideBar": true,
116 | "skip_h1_title": false,
117 | "title_cell": "Table of Contents",
118 | "title_sidebar": "Contents",
119 | "toc_cell": false,
120 | "toc_position": {},
121 | "toc_section_display": true,
122 | "toc_window_display": false
123 | },
124 | "varInspector": {
125 | "cols": {
126 | "lenName": 16,
127 | "lenType": 16,
128 | "lenVar": 40
129 | },
130 | "kernels_config": {
131 | "python": {
132 | "delete_cmd_postfix": "",
133 | "delete_cmd_prefix": "del ",
134 | "library": "var_list.py",
135 | "varRefreshCmd": "print(var_dic_list())"
136 | },
137 | "r": {
138 | "delete_cmd_postfix": ") ",
139 | "delete_cmd_prefix": "rm(",
140 | "library": "var_list.r",
141 | "varRefreshCmd": "cat(var_dic_list()) "
142 | }
143 | },
144 | "types_to_exclude": [
145 | "module",
146 | "function",
147 | "builtin_function_or_method",
148 | "instance",
149 | "_Feature"
150 | ],
151 | "window_display": false
152 | }
153 | },
154 | "nbformat": 4,
155 | "nbformat_minor": 4
156 | }
157 |
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/Arthur.txt:
--------------------------------------------------------------------------------
1 | Success can mean a variety of different things. Success is, quite simply, the accomplishment of a predetermined goal. To some people it could mean making money, cultivate and develop certain basic qualities, to others it could mean keeping everyone happy, but to me, it means achieving the goals and objective I have set for myself for my life. Besides working on your goals that would lead a person towards success it is very important to push your limit every day, take charge of your life, and keep learning. This experience enables us to think smartly to solve a critical problem and achieve success. It is very important to take care of your mind which could be done by eliminating negative thoughts and negative people from your life. I think in order to call something successful, both the result and the process should be great. Without success, you, the group, your company, your goals, dreams and even entire civilizations cease to survive.
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/Ben.txt:
--------------------------------------------------------------------------------
1 | In order to be successful one needs cultivate and develop certain basic qualities. Success is, quite simply, the accomplishment of a predetermined goal. We consciously or subconsciously set goals for ourselves all the time. First of all, you must know aim and objective of your life. Unless you know your destination, you cannot set out on a journey. At first, you must by very clear in your objectives to be achieved. Finally, you should enjoy the overall process rather than the final outcome. There is no shortcut to success. Hard work is the only key to achieving it; it teaches us discipline, dedication and determination. There is no single right way to be successful. What works for you might not work for someone else.
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/Clark.txt:
--------------------------------------------------------------------------------
1 | Success is, quite simply, the accomplishment of a predetermined goal. Success is considered to be a term that describes two things. It also the combination of variety of different things. The first one is achievement of a certain major or minor goal. This could be succeeding in making a delicious dinner, or a more global thing succeeding in a career or job. The second definition of success is more broad and subjective. Success provides confidence, security, a sense of well-being, the ability to contribute at a greater level, hope and leadership. This experience enables us to think smartly to solve a critical problem and achieve success. Without success, you, the group, your company, your goals, dreams and even entire civilizations cease to survive.
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | # Plagiarism Checker
9 |
10 | In this class, you'll learn how to check similarity between text (.txt) documents using cosine similarity
11 |
12 | In order to compute the simlilarity between on two text documents, the textual raw data is transformed into vectors ➡ **arrays of numbers** and then from that we are going to use a basic knowledge vector to compute the the similarity between them.
13 |
14 |
15 |
16 |
17 |
18 |
19 | ## Prerequisites:
20 |
21 | 1. Python Basics
22 | 2. sklearn module
23 |
24 | ---
25 |
26 | ## Install Necessary Modules:
27 |
28 | Open your [](https://www.anaconda.com/products/individual) Prompt  and type and run the following command (individually):
29 |
30 | - pip install sklearn
31 |
32 | **[`Sklearn`](https://scikit-learn.org/)** (Scikit-learn) is the most useful and robust library for machine learning in Python. It provides a selection of efficient tools for machine learning and statistical modeling including classification, regression, clustering and dimensionality reduction via a consistence interface in Python. This library, which is largely written in Python, is built upon NumPy, SciPy and Matplotlib.
33 |
34 | Once Installed now we can import it inside our python code.
35 |
36 | ---
37 |
38 | ## Frequently asked questions ❔
39 |
40 | ### How can I thank you for writing and sharing this tutorial? 🌷
41 |
42 | You can  and  Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
43 |
44 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
45 |
46 | ---
47 |
48 | ### How can I read this tutorial without an Internet connection? 
49 |
50 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
51 |
52 | 
53 |
54 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
55 |
56 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
57 |
58 | `Kernel > Restart & Clear Output`
59 |
60 | This will clear all the outputs and now you can understand each statement and learn interactively.
61 |
62 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
63 |
64 | ---
65 |
66 | ## Authors ✍️
67 |
68 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
69 |
70 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
71 |
72 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
73 |
74 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
75 |
76 | ---
77 |
78 | ## Licence 📜
79 |
80 | You may use this tutorial freely at your own risk. See [LICENSE](https://github.com/milaan9/91_Python_Mini_Projects/blob/main/LICENSE).
81 |
82 | Copyright (c) 2020 Dr. Milaan Parmar
83 |
84 | ---
85 |
86 |
87 | Connect with me
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/019_Plagiarism_Checker/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/019_Plagiarism_Checker/output.png
--------------------------------------------------------------------------------
/020_Road_Detection/img/road_1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/020_Road_Detection/img/road_1.jpeg
--------------------------------------------------------------------------------
/020_Road_Detection/img/road_2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/020_Road_Detection/img/road_2.jpeg
--------------------------------------------------------------------------------
/020_Road_Detection/img/road_3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/020_Road_Detection/img/road_3.jpeg
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 milaan9
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | # 91_Python_Mini_Projects
23 |
24 | This repository contains all the mini-projects that I've worked on python.
25 |
26 | | **No.** | **Name** |
27 | | ------- | -------- |
28 | | 01 | **[001_Convert_IPython_to_PDF](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/001_Convert_IPython_to_PDF)** |
29 | | 02 | **[002_Create_Digital_Clock_and_Stopwatch](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/002_Create_Digital_Clock)** |
30 | | 03 | **[003_Convert_.py_to_.exe](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/003_Convert_.py_to_.exe)** |
31 | | 04 | **[004_Find_IP_Address](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/004_Find_IP_Address)** |
32 | | 05 | **[005_Test_Internet_Speed](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/005_Test_Internet_Speed)** |
33 | | 06 | **[006_Check_Weather_Forecast](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/006_Check_Weather_Forecast)** |
34 | | 07 | **[007_Create_AudioBook_from_PDF](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/007_Create_AudioBook_from_PDF)** |
35 | | 08 | **[008_Generate_Random_Jokes](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/008_Generate_Random_Jokes)** |
36 | | 09 | **[009_Convert_image_to_ASCII_Grayscale_Negative_and_Pencil_Sketch_Art](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/009_Convert_image_to_ASCII)** |
37 | | 10 | **[010_Perform_Google_Search](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/010_Perform_Google_Search)** |
38 | | 11 | **[011_Generate_QR_Code](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/011_Generate_QR_Code)** |
39 | | 12 | **[012_Encode_CAPTCHA](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/012_Encode_CAPTCHA)** |
40 | | 13 | **[013_Unzip_File](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/013_Unzip_File)** |
41 | | 14 | **[014_Run_JavaScript_in_Python](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/014_Run_JavaScript_in_Python)** |
42 | | 15 | **[015_Web_Scraping_Covid-19_Data](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/015_Web_Scraping_Covid-19_Data)** |
43 | | 16 | **[016_Web_Scraping_CoWin_Vaccine_Slots](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/016_Web_Scraping_CoWin_Vaccine_Slots)** |
44 | | 17 | **[017_Check_Weather_Forecast_with_GUI](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/017_Check_Weather_Forecast_with_GUI)** |
45 | | 18 | **[018_Draw_Sakura_Tree](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/018_Draw_Sakura_Tree)** |
46 | | 19 | **[019_Plagiarism_Checker](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/019_Plagiarism_Checker)** |
47 | | 20 | **[020_Road_Detection](https://github.com/milaan9/91_Python_Mini_Projects/tree/main/020_Road_Detection)** |
48 |
49 | These are **read-only** versions. However you can **`Run ▶`** all the codes **online** by clicking here ➞ 
50 | 020_Road_Detection
51 | ---
52 |
53 | ## Frequently asked questions ❔
54 |
55 | ### How can I thank you for writing and sharing this tutorial? 🌷
56 |
57 | You can  and  Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.
58 |
59 | Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.
60 |
61 | ---
62 |
63 | ### How can I read this tutorial without an Internet connection? 
64 |
65 | 1. Go [**`here`**](https://github.com/milaan9/91_Python_Mini_Projects) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/91_Python_Mini_Projects/archive/refs/heads/main.zip).
66 |
67 | 
68 |
69 | 2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
70 |
71 | 3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
72 |
73 | **`Kernel > Restart & Clear Output`**
74 |
75 | This will clear all the outputs and now you can understand each statement and learn interactively.
76 |
77 | If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.
78 |
79 | ---
80 |
81 | ## Authors ✍️
82 |
83 | I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏
84 |
85 | See [github's contributors page](https://github.com/milaan9/91_Python_Mini_Projects/graphs/contributors) for details.
86 |
87 | If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/91_Python_Mini_Projects/issues/new)  and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.
88 |
89 | If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/91_Python_Mini_Projects).
90 |
91 | ---
92 |
93 | ## Licence 📜
94 |
95 | You may use this tutorial freely at your own risk. See [LICENSE](./LICENSE).
96 |
--------------------------------------------------------------------------------
/img/dnld_rep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/milaan9/91_Python_Mini_Projects/6f2d8b7153bd575144a037cfda7ed170c9499c74/img/dnld_rep.png
--------------------------------------------------------------------------------
| |