Skip to content

Commit 48f091c

Browse files
Add files via upload
1 parent 179eefc commit 48f091c

File tree

1 file changed

+245
-0
lines changed

1 file changed

+245
-0
lines changed
+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 54,
6+
"id": "e09fc54e",
7+
"metadata": {},
8+
"outputs": [],
9+
"source": [
10+
"import turtle\n",
11+
"#using turtle to draw the polygons\n",
12+
"\n",
13+
"\n",
14+
"class Polygon:\n",
15+
" def __init__(self, sides, name, size=100, color='black', line_thickness=3):\n",
16+
" self.sides = sides\n",
17+
" self.name = name\n",
18+
" self.size = size\n",
19+
" self.color = color\n",
20+
" self.line_thickness = line_thickness\n",
21+
" self.interior_angles = (self.sides - 2) * 180\n",
22+
" self.angle = self.interior_angles / self.sides\n",
23+
"\n",
24+
" def draw(self):\n",
25+
" turtle.color(self.color)\n",
26+
" turtle.pensize(self.line_thickness)\n",
27+
" for i in range(self.sides):\n",
28+
" turtle.forward(100)\n",
29+
" turtle.right(180 - self.angle)"
30+
]
31+
},
32+
{
33+
"cell_type": "code",
34+
"execution_count": 11,
35+
"id": "32d98085",
36+
"metadata": {},
37+
"outputs": [],
38+
"source": [
39+
"square = Polygon(4, \"Square\", color='green', line_thickness=3)\n",
40+
"penatgon = Polygon(5, \"Pentagon\", color='red', line_thickness=18)\n",
41+
"hexagon = Polygon(6, \"Hexagon\", color='blue', line_thickness=11)"
42+
]
43+
},
44+
{
45+
"cell_type": "code",
46+
"execution_count": 12,
47+
"id": "d4c2bfc7",
48+
"metadata": {},
49+
"outputs": [
50+
{
51+
"name": "stdout",
52+
"output_type": "stream",
53+
"text": [
54+
"4\n",
55+
"Square\n",
56+
"360\n",
57+
"90.0\n"
58+
]
59+
}
60+
],
61+
"source": [
62+
"print(square.sides)\n",
63+
"print(square.name)\n",
64+
"print(square.interior_angles)\n",
65+
"print(square.angle)"
66+
]
67+
},
68+
{
69+
"cell_type": "code",
70+
"execution_count": 13,
71+
"id": "58a62439",
72+
"metadata": {},
73+
"outputs": [
74+
{
75+
"name": "stdout",
76+
"output_type": "stream",
77+
"text": [
78+
"5\n",
79+
"Pentagon\n",
80+
"540\n",
81+
"108.0\n"
82+
]
83+
}
84+
],
85+
"source": [
86+
"print(penatgon.sides)\n",
87+
"print(penatgon.name)\n",
88+
"print(penatgon.interior_angles)\n",
89+
"print(penatgon.angle)"
90+
]
91+
},
92+
{
93+
"cell_type": "code",
94+
"execution_count": 14,
95+
"id": "fe726815",
96+
"metadata": {},
97+
"outputs": [
98+
{
99+
"name": "stdout",
100+
"output_type": "stream",
101+
"text": [
102+
"6\n",
103+
"Hexagon\n",
104+
"720\n",
105+
"120.0\n"
106+
]
107+
}
108+
],
109+
"source": [
110+
"print(hexagon.sides)\n",
111+
"print(hexagon.name)\n",
112+
"print(hexagon.interior_angles)\n",
113+
"print(hexagon.angle)"
114+
]
115+
},
116+
{
117+
"cell_type": "code",
118+
"execution_count": 17,
119+
"id": "5f38e17b",
120+
"metadata": {},
121+
"outputs": [],
122+
"source": [
123+
"hexagon.draw()"
124+
]
125+
},
126+
{
127+
"cell_type": "code",
128+
"execution_count": 19,
129+
"id": "3218723b",
130+
"metadata": {},
131+
"outputs": [],
132+
"source": [
133+
"penatgon.draw()"
134+
]
135+
},
136+
{
137+
"cell_type": "code",
138+
"execution_count": 21,
139+
"id": "c71b3631",
140+
"metadata": {},
141+
"outputs": [],
142+
"source": [
143+
"square.draw()"
144+
]
145+
},
146+
{
147+
"cell_type": "code",
148+
"execution_count": 62,
149+
"id": "f6878544",
150+
"metadata": {},
151+
"outputs": [],
152+
"source": [
153+
"#Inheritance of properties froma parent class using super()\n",
154+
"class Square(Polygon):\n",
155+
" def __init__(self, size=100, color='black', line_thickness=3):\n",
156+
" super().__init__(4, 'Square', size, color, line_thickness)\n",
157+
"\n",
158+
" def draw(self):\n",
159+
" turtle.begin_fill()\n",
160+
" super().draw()\n",
161+
" turtle.end_fill()\n",
162+
"\n",
163+
"\n",
164+
"square = Square(color='#666666', size=200)\n",
165+
"\n",
166+
"square.draw()\n",
167+
"\n",
168+
"turtle.done()"
169+
]
170+
},
171+
{
172+
"cell_type": "code",
173+
"execution_count": 75,
174+
"id": "86d5e04b",
175+
"metadata": {},
176+
"outputs": [
177+
{
178+
"data": {
179+
"image/png": "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\n",
180+
"text/plain": [
181+
"<Figure size 432x288 with 1 Axes>"
182+
]
183+
},
184+
"metadata": {
185+
"needs_background": "light"
186+
},
187+
"output_type": "display_data"
188+
}
189+
],
190+
"source": [
191+
"#Plotting Points with Classes\n",
192+
"\n",
193+
"import matplotlib.pyplot as plt\n",
194+
"\n",
195+
"class Point:\n",
196+
" def __init__(self, x, y, color=\"red\", size=10):\n",
197+
" self.x = x\n",
198+
" self.y = y\n",
199+
" self.color = color\n",
200+
" self.size = size\n",
201+
" \n",
202+
" def __add__(self, other):\n",
203+
" if isinstance(other, Point):\n",
204+
" x = self.x + other.x\n",
205+
" y = self.y + other.y\n",
206+
" return Point(x,y)\n",
207+
" else:\n",
208+
" x = self.x + other\n",
209+
" y = self.y + other\n",
210+
" return Point(x,y)\n",
211+
"\n",
212+
" def plot(self):\n",
213+
" plt.scatter(self.x, self.y, c=self.color, s=self.size)\n",
214+
"\n",
215+
"if __name__ == \"__main__\":\n",
216+
" a = Point(1,3)\n",
217+
" b = Point(2,4)\n",
218+
" c = a + b\n",
219+
" c.plot()\n",
220+
" plt.show()"
221+
]
222+
}
223+
],
224+
"metadata": {
225+
"kernelspec": {
226+
"display_name": "Python 3 (ipykernel)",
227+
"language": "python",
228+
"name": "python3"
229+
},
230+
"language_info": {
231+
"codemirror_mode": {
232+
"name": "ipython",
233+
"version": 3
234+
},
235+
"file_extension": ".py",
236+
"mimetype": "text/x-python",
237+
"name": "python",
238+
"nbconvert_exporter": "python",
239+
"pygments_lexer": "ipython3",
240+
"version": "3.9.2"
241+
}
242+
},
243+
"nbformat": 4,
244+
"nbformat_minor": 5
245+
}

0 commit comments

Comments
 (0)