From d886705bfa6ced134c8d60a8737a0c02d7f26c7a Mon Sep 17 00:00:00 2001 From: Liron-Mizrahi <91504420+lironmiz@users.noreply.github.com> Date: Mon, 9 Jan 2023 07:59:11 +0200 Subject: [PATCH 1/9] Create unit6_ex6.3.1.py --- unit6_ex6.3.1.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 unit6_ex6.3.1.py diff --git a/unit6_ex6.3.1.py b/unit6_ex6.3.1.py new file mode 100644 index 0000000..21a2e25 --- /dev/null +++ b/unit6_ex6.3.1.py @@ -0,0 +1,8 @@ +# exercise 6.3.1 from unit 6 +''' +Erez wants to write a piece of code that takes a picture and knows how to automatically identify certain objects that are in it (for example, a vehicle or a person). + +Which package will give him the best answer to accomplish the task? +''' + +# Answer: ImageAi From c82c7cd5f2ee27e5c02c27795c5f3a60f4837ea0 Mon Sep 17 00:00:00 2001 From: Liron-Mizrahi <91504420+lironmiz@users.noreply.github.com> Date: Mon, 9 Jan 2023 08:03:06 +0200 Subject: [PATCH 2/9] Create unit6_ex6.3.2.py --- unit6_ex6.3.2.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 unit6_ex6.3.2.py diff --git a/unit6_ex6.3.2.py b/unit6_ex6.3.2.py new file mode 100644 index 0000000..bcf9a4f --- /dev/null +++ b/unit6_ex6.3.2.py @@ -0,0 +1,10 @@ +# exercise 6.3.2 from unit 6 +''' +Here is a line of code + +from a.b import c +What does the following line of code do? + +''' + +# Answer: Imports object c from module b which is in package a. From 080ad5bc3885c28b2ed61bdfe73a03ebd91ba2c7 Mon Sep 17 00:00:00 2001 From: Liron-Mizrahi <91504420+lironmiz@users.noreply.github.com> Date: Mon, 9 Jan 2023 08:14:08 +0200 Subject: [PATCH 3/9] Create unit6_ex6.3.3.py --- unit6_ex6.3.3.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 unit6_ex6.3.3.py diff --git a/unit6_ex6.3.3.py b/unit6_ex6.3.3.py new file mode 100644 index 0000000..fd875cd --- /dev/null +++ b/unit6_ex6.3.3.py @@ -0,0 +1,22 @@ +# exercise 6.3.3 from unit 6 +''' +You need to write a program that can read aloud the following sentence: + +first time i'm using a package in next.py course +Guidelines: +You have to search the net for a suitable package that knows how to take text and speak it. +Use the search for the following keywords on Google "text to speech". Install and download the +package to your computer using the pip command. + +''' + +import pyttsx3 + +def read_aloud(text): + engine = pyttsx3.init() + engine.say(text) + engine.runAndWait() + +read_aloud("first time i'm using a package in next.py course") + + From 424a04ccd18534eef8a40c3dd3611f42a967cf2d Mon Sep 17 00:00:00 2001 From: Liron-Mizrahi <91504420+lironmiz@users.noreply.github.com> Date: Mon, 9 Jan 2023 09:24:20 +0200 Subject: [PATCH 4/9] Create cow.py --- cow.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 cow.py diff --git a/cow.py b/cow.py new file mode 100644 index 0000000..d4dd411 --- /dev/null +++ b/cow.py @@ -0,0 +1,91 @@ +# exercise 6.4 from unit 6 +''' +You are subscribed to a Python website that sends you a challenge task to your email every week. You entered your inbox and noticed that you received + the following challenge from the website. + +The title of the letter: "Connect the dots". + +The content of the letter: "Will you be able to find out which animal it is?" + +You have to write a Python code that creates an image in which connected lines are drawn between all the points - that way you + can find out which animal it is. Use the code above as a skeleton for your program. Successfully! + +Guidelines: + +The Python code you received contains two lists: first and second. Each of them contains points that must be connected with a line. + The points are represented by a sequence of x and y coordinates as follows: [x, y, x, y,...] where each pair of adjacent members constitutes one point. +Search the Internet for an external package that can help you solve the task (for example PIL). Download and install it on your computer +(if it doesn't already exist). +No particularly complex code is needed. The challenge can also be solved in a few single lines. + +First hint +You must draw a continuous line connecting the points in each list (each point is represented by two members of x and y in the list). + When you are finished, save your drawing as an image in the project folder and open it - there the desired animal will appear to you + (another option: just present the picture when you finish drawing without saving it). + +Second hint +To draw a continuous line between points you need to find an external Python package that has graphics capabilities and install it on your computer. + There are many solutions to the task, one of them is using the Image and ImageDraw modules from an external package called PIL. + +''' + +# list of dots, in the following format: [x, y, x, y, x, y,...] +first = ( + 146, 399, 163, 403, 170, 393, 169, 391, 166, 386, 170, 381, 170, 371, 170, + 355, 169, 346, 167, 335, 170, 329, 170, 320, 170, 310, 171, 301, 173, 290, + 178, 289, 182, 287, 188, 286, 190, 286, 192, 291, 194, 296, 195, 305, 194, + 307, 191, 312, 190, 316, 190, 321, 192, 331, 193, 338, 196, 341, 197, 346, + 199, 352, 198, 360, 197, 366, 197, 373, 196, 380, 197, 383, 196, 387, 192, + 389, 191, 392, 190, 396, 189, 400, 194, 401, 201, 402, 208, 403, 213, 402, + 216, 401, 219, 397, 219, 393, 216, 390, 215, 385, 215, 379, 213, 373, 213, + 365, 212, 360, 210, 353, 210, 347, 212, 338, 213, 329, 214, 319, 215, 311, + 215, 306, 216, 296, 218, 290, 221, 283, 225, 282, 233, 284, 238, 287, 243, + 290, 250, 291, 255, 294, 261, 293, 265, 291, 271, 291, 273, 289, 278, 287, + 279, 285, 281, 280, 284, 278, 284, 276, 287, 277, 289, 283, 291, 286, 294, + 291, 296, 295, 299, 300, 301, 304, 304, 320, 305, 327, 306, 332, 307, 341, + 306, 349, 303, 354, 301, 364, 301, 371, 297, 375, 292, 384, 291, 386, 302, + 393, 324, 391, 333, 387, 328, 375, 329, 367, 329, 353, 330, 341, 331, 328, + 336, 319, 338, 310, 341, 304, 341, 285, 341, 278, 343, 269, 344, 262, 346, + 259, 346, 251, 349, 259, 349, 264, 349, 273, 349, 280, 349, 288, 349, 295, + 349, 298, 354, 293, 356, 286, 354, 279, 352, 268, 352, 257, 351, 249, 350, + 234, 351, 211, 352, 197, 354, 185, 353, 171, 351, 154, 348, 147, 342, 137, + 339, 132, 330, 122, 327, 120, 314, 116, 304, 117, 293, 118, 284, 118, 281, + 122, 275, 128, 265, 129, 257, 131, 244, 133, 239, 134, 228, 136, 221, 137, + 214, 138, 209, 135, 201, 132, 192, 130, 184, 131, 175, 129, 170, 131, 159, + 134, 157, 134, 160, 130, 170, 125, 176, 114, 176, 102, 173, 103, 172, 108, + 171, 111, 163, 115, 156, 116, 149, 117, 142, 116, 136, 115, 129, 115, 124, + 115, 120, 115, 115, 117, 113, 120, 109, 122, 102, 122, 100, 121, 95, 121, + 89, 115, 87, 110, 82, 109, 84, 118, 89, 123, 93, 129, 100, 130, 108, + 132, 110, 133, 110, 136, 107, 138, 105, 140, 95, 138, 86, 141, 79, 149, + 77, 155, 81, 162, 90, 165, 97, 167, 99, 171, 109, 171, 107, 161, 111, + 156, 113, 170, 115, 185, 118, 208, 117, 223, 121, 239, 128, 251, 133, 259, + 136, 266, 139, 276, 143, 290, 148, 310, 151, 332, 155, 348, 156, 353, 153, + 366, 149, 379, 147, 394, 146, 399 +) +second = ( + 156, 141, 165, 135, 169, 131, 176, 130, 187, 134, 191, 140, 191, 146, 186, + 150, 179, 155, 175, 157, 168, 157, 163, 157, 159, 157, 158, 164, 159, 175, + 159, 181, 157, 191, 154, 197, 153, 205, 153, 210, 152, 212, 147, 215, 146, + 218, 143, 220, 132, 220, 125, 217, 119, 209, 116, 196, 115, 185, 114, 172, + 114, 167, 112, 161, 109, 165, 107, 170, 99, 171, 97, 167, 89, 164, 81, + 162, 77, 155, 81, 148, 87, 140, 96, 138, 105, 141, 110, 136, 111, 126, + 113, 129, 118, 117, 128, 114, 137, 115, 146, 114, 155, 115, 158, 121, 157, + 128, 156, 134, 157, 136, 156, 136 +) +import matplotlib.pyplot as plt +import numpy as np + +fig, ax = plt.subplots() + +fig.suptitle('liron-mizrahi-next.py-cow', fontsize=14, fontweight='bold') + +# plot the lines connecting the points in the first and second lists +ax.plot(first[::2], first[1::2], 'k-', lw=7) +ax.plot(second[::2], second[1::2], 'k-', lw=7) + +ax.invert_yaxis() + +# show the plot +plt.show() + + From 4d92ff81c09c88bc7eafb43be5014fffb4dbba91 Mon Sep 17 00:00:00 2001 From: Liron-Mizrahi <91504420+lironmiz@users.noreply.github.com> Date: Mon, 9 Jan 2023 10:03:57 +0200 Subject: [PATCH 5/9] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bac734..2b6cc53 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ this repository contains solutions in python to the next.py python course proble
-# course material: +## Course Material: 1. One-Liners 2. Object-Oriented-Programming 3. Exceptions @@ -27,6 +27,10 @@ this repository contains solutions in python to the next.py python course proble 5. Iterators 6. Modules +## The cow I created as part of the last exercise in the course: + + +