From 47b74f6a047e934911269653741f38c07759940a Mon Sep 17 00:00:00 2001 From: lolabird Date: Mon, 21 Aug 2023 20:03:55 -0600 Subject: [PATCH] Add Exercise files --- thinkcspy/Chapter-5-Exercises/Exercises.md | 111 ++++++++++++++++++ .../Chapter-5-Exercises/Exercises/1_image.png | Bin 0 -> 6289 bytes .../Chapter-5-Exercises/Exercises/2_image.png | Bin 0 -> 6158 bytes .../Chapter-5-Exercises/Exercises/3_image.png | Bin 0 -> 14687 bytes .../Chapter-5-Exercises/Exercises/image.png | Bin 0 -> 18185 bytes .../Python-files/problem16.py | 9 ++ .../Python-files/problem17.py | 9 ++ .../Python-files/problem18.py | 12 ++ .../Python-files/problem19.py | 13 ++ 9 files changed, 154 insertions(+) create mode 100644 thinkcspy/Chapter-5-Exercises/Exercises.md create mode 100644 thinkcspy/Chapter-5-Exercises/Exercises/1_image.png create mode 100644 thinkcspy/Chapter-5-Exercises/Exercises/2_image.png create mode 100644 thinkcspy/Chapter-5-Exercises/Exercises/3_image.png create mode 100644 thinkcspy/Chapter-5-Exercises/Exercises/image.png create mode 100644 thinkcspy/Chapter-5-Exercises/Python-files/problem16.py create mode 100644 thinkcspy/Chapter-5-Exercises/Python-files/problem17.py create mode 100644 thinkcspy/Chapter-5-Exercises/Python-files/problem18.py create mode 100644 thinkcspy/Chapter-5-Exercises/Python-files/problem19.py diff --git a/thinkcspy/Chapter-5-Exercises/Exercises.md b/thinkcspy/Chapter-5-Exercises/Exercises.md new file mode 100644 index 0000000..319be17 --- /dev/null +++ b/thinkcspy/Chapter-5-Exercises/Exercises.md @@ -0,0 +1,111 @@ +# Exercises +So this lesson only had 4 exercises (from what I could see, anyway), but for some reason they start at 16.  + +At any rate, this lesson was about modules. `math` and `random` were at the focus of the lesson and its exercises.  + +Problem 16 +---------- + +_Use a_ `for` _statement to print 10 random numbers._ + +### My Code + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 5 +# Problem 16 + +import random + +for i in range(10): + prob = random.random() + print(i+1, '-', prob) +``` + +### Result + +![](Exercises/image.png) + +Result from the first run of this script + +Problem 17 +---------- + +_Repeat the above exercise but this time print 10 random numbers between 25 and 35, inclusive._ + +### My Code + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 5 +# Problem 17 + +import random + +for i in range(10): + prob = random.randrange(25, 36) + print(i+1, '-', prob) +``` + +### Result + +![](Exercises/1_image.png) + +Result from the first run of this script + +Problem 18 +---------- + +_The **Pythagorean Theorem** tells us that the length of the hypotenuse of a right triangle is related to the lengths of the other two sides. Look through the_ `math` _module and see if you can find a function that will compute this relationship for you. Once you find it, write a short program to try it out._ + +### My Code + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 5 +# Problem 18 + +import math + +a = float(input('What is the length of the first side of the triangle?')) +b = float(input('What is the length of the second side of the triangle?')) + +c = math.sqrt(a*a + b*b) + +print('The hypotenuse of this triangle with is', c, '.') +``` + +### Result + +![](Exercises/2_image.png) + +The numbers used to get this result were 12 and 12. + +Problem 19 +---------- + +_Search on the internet for a way to calculate an approximation for **pi**. There are many that use simple arithmetic. Write a program to compute the approximation and then print that value as well as the value of_ `math.pi` _from the math module._ + +### My Code + +```text-x-python +# Runestone.Academy thinkcspy course +# Chapter 5 +# Problem 19 + +import math + +c = float(input("Today we are going to calculate pi from the dimensions of a circle. What is the circumference of your circle?")) +d = float(input("And what is the diameter of your circle?")) + +zpi = c/d + +print("The approximate value of pi from the dimensions provided is", zpi) +print("The actual (also technically approximate) value of pi is", math.pi) +``` + +### Result + +![](Exercises/3_image.png) + +The numbers were 22.2817 for the diameter and 70 for the circumference. The numbers were generated on [this site](https://www.omnicalculator.com/math/circle-measurements). \ No newline at end of file diff --git a/thinkcspy/Chapter-5-Exercises/Exercises/1_image.png b/thinkcspy/Chapter-5-Exercises/Exercises/1_image.png new file mode 100644 index 0000000000000000000000000000000000000000..041be837fbdc22782db71668b0b7eb82365fb461 GIT binary patch literal 6289 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-5-Exercises/Exercises/2_image.png b/thinkcspy/Chapter-5-Exercises/Exercises/2_image.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf80ee96ae98c4999b8ee20c170d8004518c484 GIT binary patch literal 6158 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 literal 0 HcmV?d00001 diff --git a/thinkcspy/Chapter-5-Exercises/Exercises/3_image.png b/thinkcspy/Chapter-5-Exercises/Exercises/3_image.png new file mode 100644 index 0000000000000000000000000000000000000000..22cda7962ca15f97fc65680ebc10e065d75f68ed GIT binary patch literal 14687 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