From fa30e5b0441e95a1672e8a55b6879be3c90394f2 Mon Sep 17 00:00:00 2001 From: lolabird Date: Wed, 21 Jun 2023 16:56:22 -0600 Subject: [PATCH] Added chapter 4 exercises --- thinkcspy/Chapter-4-Exercises/Exercises.md | 252 ++++++++++++++++++ .../Chapter-4-Exercises/Exercises/1_image.png | Bin 0 -> 6657 bytes .../Chapter-4-Exercises/Exercises/2_image.png | Bin 0 -> 14123 bytes .../Chapter-4-Exercises/Exercises/3_image.png | Bin 0 -> 16505 bytes .../Chapter-4-Exercises/Exercises/4_image.png | Bin 0 -> 14415 bytes .../Chapter-4-Exercises/Exercises/image.png | Bin 0 -> 9262 bytes .../Chapter-4-Exercises/Exercises/star1.png | Bin 0 -> 3098 bytes .../Exercises/tess_clock1.png | Bin 0 -> 7118 bytes 8 files changed, 252 insertions(+) create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises.md create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/1_image.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/2_image.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/3_image.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/4_image.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/image.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/star1.png create mode 100644 thinkcspy/Chapter-4-Exercises/Exercises/tess_clock1.png diff --git a/thinkcspy/Chapter-4-Exercises/Exercises.md b/thinkcspy/Chapter-4-Exercises/Exercises.md new file mode 100644 index 0000000..744c3ac --- /dev/null +++ b/thinkcspy/Chapter-4-Exercises/Exercises.md @@ -0,0 +1,252 @@ +# Exercises +This lesson had a bunch of exercises in it, but I just picked a few that best showcased what I learned which was mostly about using `for` loops and the `Turtle()` object.  + +Problem 4 +--------- + +_Assume you have a list of numbers_ `12, 10, 32, 3, 66, 17, 42, 99, 20` + +1. _Write a loop that prints each of the numbers on a new line._ +2. _Write a loop that prints each number and its square on a new line._ + +### My code + +This one had a visual counterpart, but that would require me including a video which is something I'm simply not keen on doing, right now. So here are some text and numbers instead. + +```text-x-python +for i in [12, 10, 32, 3, 66, 17, 42, 99, 20]: + print(i) + +for i in [12, 10, 32, 3, 66, 17, 42, 99, 20]: + print("The square of", i,"is", i**2) +``` + +### Result + +![](Exercises/4_image.png) + +Problem 5 +--------- + +_Use_ `for` _loops to make a turtle draw these regular polygons (regular means all sides the same lengths, all angles the same):_ + +* _An equilateral triangle_ +* _A square_ +* _A hexagon (six sides)_ +* _An octagon (eight sides)_ + +### My code: + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 4 +# Problem 5 + +import turtle +wn = turtle.Screen() +avery = turtle.Turtle() +avery.color("blue") +dun = turtle.Turtle() +dun.color("pink") +elliot = turtle.Turtle() +elliot.color("lime") +missy = turtle.Turtle() +missy.color("yellow") + +for i in range(3): + avery.forward(50) + avery.left(120) + +for i in range(4): + dun.backward(70) + dun.left(90) + +for i in range(6): + elliot.left(60) + elliot.forward(40) + +for i in range(8): + missy.right(45) + missy.backward(80) + +wn.exitonclick() +``` + +### Result: + +![](Exercises/image.png) + +Problem 9 +--------- + +_Write a program to draw a shape like this:_ + +_![../_images/star1.png](Exercises/star1.png)_ + +### My Code: + +I probably need to go back to and relearn geometry lol. Took me forever to figure out the right angle.  + +In case you're curious (and not a geometry wiz), to draw any type of star you need the formula \\(a = 180 - 360/(n/2)\\) or more simply \\(a=180-180/n\\), where \\(a\\) is the angle and \\(n\\) is the number of sides. Now, I'll do my best to explain why this works. + +To find the angle of a normal polygon, you need to divide 360 by the number of sides, which would be expressed as \\(a=360/n\\). But a star is like an inverted form of a polygon that has bunch of unfinished interconnecting triangles. Unlike polygons with 4+ sides, all the angles of a triangle must equal 180 — and coincidentally, that happens to be the case with stars as well. Don't ask me why, I don't know. It's been well over a decade since I've had to touch do any geometry like this lol.  + +If you look closely at the center of the star presented above, you'll notice a pentagon in the center. Extending from every angle of that pentagon are triangles. Again, we know that the angles of triangles must total of 180 and we also know that each angle in the star is the same, so we can treat these triangles as equilateral triangles. This means that each angle of the arms will be half the angle its polygon counterpart, hence the \\(360/(n/2)\\), where the \\(2\\) is simply halving each angle of the original polygon. + +Now, if we were just trying to find the acute angle present in the star, we could stop here, but at least for the way I drew my star, I actually need an obtuse angle, because the program is tracing around and through the star. This is where the \\(180\\) comes in. I need to subtract the acute angle from \\(180\\) to get to the angle I need to create the star. You can actually see this angle in the concave portions of the star.  + +So all that is how I got to \\(a = 180 - 360/(n/2)\\). I probably could have looked this up — and I did partially, which is how I understood to treat the star like a triangle — but otherwise I just played around with it until I figured it out.  + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 4 +# Problem 9 + +import turtle +wn = turtle.Screen() + +stella = turtle.Turtle() +stella.color("yellow") + +stella.up() +stella.forward(-50) +stella.down() + +for i in range(5): + stella.left(144) + stella.forward(-100) + +wn.exitonclick() +``` + +### Result + +![](Exercises/1_image.png) + +Problem 10 +---------- + +_Write a program to draw a face of a clock that looks something like this:_ + +_![../_images/tess_clock1.png](Exercises/tess_clock1.png)_ + +### My Code: + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 4 +# Problem 10 + +import turtle +wn = turtle.Screen() + +wn.bgcolor("lightgreen") + +stella = turtle.Turtle() +stella.color("blue") +stella.shape("turtle") + +avery = turtle.Turtle() +avery.color("blue") + +stella.up() +avery.up() + +stella.stamp() + +for i in range(12): + stella.forward(100) + stella.stamp() + + avery.forward(70) + avery.down() + avery.forward(10) + avery.up() + + stella.forward(-100) + avery.forward(-80) + + stella.right(30) + avery.right(30) + +wn.exitonclick() +``` + +### Result + +![](Exercises/2_image.png) + +Problem 11 +---------- + +_Write a program to draw some kind of picture. Be creative and experiment with the turtle methods provided in Summary of Turtle Methods._ + +### My Code + +Used what I learned from problem 9 on this one. Even took the time to figure out getting the star to fit inside its corresponding polygon. Then I made a weird spiral thingy and was like “ooh that looks like a huge ponytail!”and then I made a crown. That one took me forever to figure out too, but I don't really have a rationale for you for this one.  + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 4 +# Problem 10 + + import turtle +wn = turtle.Screen() + +wn.bgcolor("black") + +stella = turtle.Turtle() +stella.color("lightblue") +stella.speed(10) + +avery = turtle.Turtle() +avery.color("purple") +avery.speed(10) +avery.up() +avery.right(90) +avery.down() + +missy = turtle.Turtle() +missy.color("purple") +missy.speed(10) +missy.up() +missy.left(90) +missy.down() + +dun = turtle.Turtle() +dun.color("gold") +dun.speed(10) +dun.up() +dun.left(90) +dun.forward(30) +dun.right(90) +dun.down() + +for i in range(8): + stella.left(135) + stella.forward(-120) + + avery.right(45) + avery.forward(-50) + +for i in range(30, -32, -1): + missy.forward(i) + missy.left(20) + +dun.forward(120) +dun.left(120) +dun.forward(70) +for i in range(2): + dun.left(120) + dun.forward(30) + dun.right(120) + dun.forward(30) +dun.left(120) +dun.forward(70) + +wn.exitonclick() +``` + +### Result + +![](Exercises/3_image.png) \ No newline at end of file diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/1_image.png b/thinkcspy/Chapter-4-Exercises/Exercises/1_image.png new file mode 100644 index 0000000000000000000000000000000000000000..9a8aab28d6404f544db61bb4026f42e71dadc5d6 GIT binary patch literal 6657 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/2_image.png b/thinkcspy/Chapter-4-Exercises/Exercises/2_image.png new file mode 100644 index 0000000000000000000000000000000000000000..34117636516f07185684884d92d6875fbe966dfa GIT binary patch literal 14123 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/4_image.png b/thinkcspy/Chapter-4-Exercises/Exercises/4_image.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe5eb2e02d5ef78ca0f23d3c1fc28fb728e5062 GIT binary patch literal 14415 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/image.png b/thinkcspy/Chapter-4-Exercises/Exercises/image.png new file mode 100644 index 0000000000000000000000000000000000000000..86962e185e950d2dc8c9917722dc2f410610d229 GIT binary patch literal 9262 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 CNf<-` literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/star1.png b/thinkcspy/Chapter-4-Exercises/Exercises/star1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3257beef6f94a32f6056a34019e4441ae74412a GIT binary patch literal 3098 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-4-Exercises/Exercises/tess_clock1.png b/thinkcspy/Chapter-4-Exercises/Exercises/tess_clock1.png new file mode 100644 index 0000000000000000000000000000000000000000..ad61838efe4557fb3a93f2de17f53d12eaa8de3e GIT binary patch literal 7118 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 Z9wBVOMc;X6wB3fGs-&S