From ec214d0d62f08622650b10c04500056fcd4a00ef Mon Sep 17 00:00:00 2001 From: dmccreary Date: Wed, 15 Jul 2020 23:22:06 -0500 Subject: [PATCH 01/65] Added templates for intermediate lessons --- docs/intermediate/debugging.md | 2 ++ docs/intermediate/dir.md | 1 + docs/intermediate/files.md | 2 ++ docs/intermediate/images.md | 2 ++ docs/intermediate/intro.md | 20 ++++++++++---------- docs/intermediate/maps.md | 2 ++ docs/intermediate/modules.md | 3 +++ docs/intermediate/regex.md | 2 ++ mkdocs.yml | 7 +++++++ 9 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 docs/intermediate/debugging.md create mode 100644 docs/intermediate/dir.md create mode 100644 docs/intermediate/files.md create mode 100644 docs/intermediate/images.md create mode 100644 docs/intermediate/maps.md create mode 100644 docs/intermediate/modules.md create mode 100644 docs/intermediate/regex.md diff --git a/docs/intermediate/debugging.md b/docs/intermediate/debugging.md new file mode 100644 index 00000000..c6a907ce --- /dev/null +++ b/docs/intermediate/debugging.md @@ -0,0 +1,2 @@ +# Debugging in Python + diff --git a/docs/intermediate/dir.md b/docs/intermediate/dir.md new file mode 100644 index 00000000..7d445aff --- /dev/null +++ b/docs/intermediate/dir.md @@ -0,0 +1 @@ +# The dir() function \ No newline at end of file diff --git a/docs/intermediate/files.md b/docs/intermediate/files.md new file mode 100644 index 00000000..f031c5f8 --- /dev/null +++ b/docs/intermediate/files.md @@ -0,0 +1,2 @@ +# Reading and Writing Files in Python + diff --git a/docs/intermediate/images.md b/docs/intermediate/images.md new file mode 100644 index 00000000..cc3caf63 --- /dev/null +++ b/docs/intermediate/images.md @@ -0,0 +1,2 @@ +# Reading Images in Python + diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index 5c13f169..d34efaac 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -4,16 +4,16 @@ This course assumes you are familiar with beginning concepts in Python such as v The concepts in this course include: -1. Variables and Scope -2. Data types -3. Checking Data Types of Function Parameters -4. Maps -5. Files -6. Images -7. Defining Your Own Modules -8. the dir() functions -9. Regular expressions -10. Debugging +1. **Variables and Scope** - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. +2. **Data types** - This lab give you a tour of some of the data types in Python other than boring strings and integers. +3. **Checking Data Types of Function Parameters** - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! +4. **Maps** - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. +5. **Files** - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! +6. **Images** - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! +7. **Defining Your Own Modules** - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. +8. **dir() function** - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! +9. **Regular expressions** - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. +10. **Debugging** - When we have a hard time understanding what our programs are doing we need to be able to peak in and see the results of small steps of our programs. This lesson will show you how to squash those little "bugs" or errors in our code. (not real bugs, that would be mean!) diff --git a/docs/intermediate/maps.md b/docs/intermediate/maps.md new file mode 100644 index 00000000..7fecb23c --- /dev/null +++ b/docs/intermediate/maps.md @@ -0,0 +1,2 @@ +# Maps in Python + diff --git a/docs/intermediate/modules.md b/docs/intermediate/modules.md new file mode 100644 index 00000000..9cf5b291 --- /dev/null +++ b/docs/intermediate/modules.md @@ -0,0 +1,3 @@ +# Introduction to Intermediate Python + +# Modules diff --git a/docs/intermediate/regex.md b/docs/intermediate/regex.md new file mode 100644 index 00000000..f031c5f8 --- /dev/null +++ b/docs/intermediate/regex.md @@ -0,0 +1,2 @@ +# Reading and Writing Files in Python + diff --git a/mkdocs.yml b/mkdocs.yml index e2a59616..918c4ffb 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,6 +21,13 @@ nav: - Recursion: repl/12-recursion.md - Intermediate Python: - Introduction: intermediate/intro.md + - Variables and Scope: intermediate/scope.md + - Maps: intermediate/map.md + - Files: intermediate/files.md + - Images: intermediate/images.md + - Wildcards: intermediate/wildcard.md + - Dir: intermediate/dir.md + - Debugging: intermediate/debug.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md - Jupyter: From acea6281d4b2542bb2381f4077077cdddc448f7d Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 18 Jul 2020 08:02:13 -0500 Subject: [PATCH 02/65] Added files and regex --- docs/intermediate/data-types.md | 2 ++ docs/intermediate/intro.md | 22 ++++++++++++---------- docs/intermediate/regex.md | 24 +++++++++++++++++++++++- docs/intermediate/scope.md | 2 ++ mkdocs.yml | 7 ++++--- 5 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 docs/intermediate/data-types.md create mode 100644 docs/intermediate/scope.md diff --git a/docs/intermediate/data-types.md b/docs/intermediate/data-types.md new file mode 100644 index 00000000..97d038ae --- /dev/null +++ b/docs/intermediate/data-types.md @@ -0,0 +1,2 @@ +# Build In Data Types in Python + diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index d34efaac..51c5dd71 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -2,18 +2,20 @@ This course assumes you are familiar with beginning concepts in Python such as variables, loops, conditionals, random numbers, functions, function parameters, lists and basic recursion. +Note that you can do the first four lessons using web-based Python programming tools like Trinket.io or repl.it. Starting with lesson #5 on Files you will need to have Python installed on your local computer. Please visit the [Python.org](http://python.org) web site for the installation instructions on your operating systems. You can use the command-line version of Python from a Terminal or shell or you can install one of the Python Integrated Development Environments (IDEs). + The concepts in this course include: -1. **Variables and Scope** - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. -2. **Data types** - This lab give you a tour of some of the data types in Python other than boring strings and integers. -3. **Checking Data Types of Function Parameters** - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! -4. **Maps** - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. -5. **Files** - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! -6. **Images** - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! -7. **Defining Your Own Modules** - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. -8. **dir() function** - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! -9. **Regular expressions** - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. -10. **Debugging** - When we have a hard time understanding what our programs are doing we need to be able to peak in and see the results of small steps of our programs. This lesson will show you how to squash those little "bugs" or errors in our code. (not real bugs, that would be mean!) +1. [**Variables and Scope**](./scope.md) - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. +2. [**Data types**](./data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. +3. [**Checking Data Types of Function Parameters**](./checking-parameters.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! +4. [**Maps**](./maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. +5. [**Files**](./files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! +6. [**Images**](./images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! +7. [**Defining Your Own Modules**](./modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. +8. [**dir() function**](./dir.md) - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! +9. [**Regular expressions**](./regex.md) - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. +10. [**Debugging**](./debugging.md) - When we have a hard time understanding what our programs are doing we need to be able to peak in and see the results of small steps of our programs. This lesson will show you how to squash those little "bugs" or errors in our code. (not real bugs, that would be mean!) diff --git a/docs/intermediate/regex.md b/docs/intermediate/regex.md index f031c5f8..33b6d425 100644 --- a/docs/intermediate/regex.md +++ b/docs/intermediate/regex.md @@ -1,2 +1,24 @@ -# Reading and Writing Files in Python +# Regular Expressions in Python + +A regular expression is a shorthand notation for describing a search pattern. Regular expressions are handy whenever you have one ore more strings and you want to detect if a specific patten of characters appears in that string. Regular expressions are mostly standardized so that if you use them other developers will quickly be able to read this the patten notation and understand the function of the pattern. + +Let's take a simple example. What if you want an input to to a function to contain four digits. The string ```\d``` matches a single digit. Here is the python program to check to see if there are four consecutive digits in an input string: + +```python +import re + +# Check if the string has four digits in a +my_input = '1234' +digits_test = re.search('\d\d\d\d', my_input) + +if digits_test: + print("We have four digits") +else: + print("Invalid data") +``` +The name of the regular expression module is just "re". We must import this line first. The key line has re.search() function with two parameters. The first parameter is the regular expression and the second is the string to be tested. + +[Run on Trinket.io](https://trinket.io/python3/780b1810ad) + + diff --git a/docs/intermediate/scope.md b/docs/intermediate/scope.md new file mode 100644 index 00000000..d7b737fe --- /dev/null +++ b/docs/intermediate/scope.md @@ -0,0 +1,2 @@ +# Scope + diff --git a/mkdocs.yml b/mkdocs.yml index 918c4ffb..13ddfb3f 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,12 +22,13 @@ nav: - Intermediate Python: - Introduction: intermediate/intro.md - Variables and Scope: intermediate/scope.md - - Maps: intermediate/map.md + - Maps: intermediate/maps.md - Files: intermediate/files.md - Images: intermediate/images.md - - Wildcards: intermediate/wildcard.md + - Regular Expressions: intermediate/regex.md - Dir: intermediate/dir.md - - Debugging: intermediate/debug.md + - Modules: intermediate/modules.md + - Debugging: intermediate/debugging.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md - Jupyter: From 4a34fada4e07143a75e0d843a778a0008af83d44 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 18 Jul 2020 11:31:34 -0500 Subject: [PATCH 03/65] Added updates to regex --- docs/intermediate/regex-03.py | 10 +++++ docs/intermediate/regex-04.py | 10 +++++ docs/intermediate/regex.md | 77 ++++++++++++++++++++++++++++++++--- docs/intermediate/regex.py | 10 +++++ 4 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 docs/intermediate/regex-03.py create mode 100644 docs/intermediate/regex-04.py create mode 100644 docs/intermediate/regex.py diff --git a/docs/intermediate/regex-03.py b/docs/intermediate/regex-03.py new file mode 100644 index 00000000..50f707ff --- /dev/null +++ b/docs/intermediate/regex-03.py @@ -0,0 +1,10 @@ +import re +my_input = '1' + +# check for one or more digits +digits_test = re.search('^\d+', my_input) + +if digits_test: + print("We have one or more digits!") +else: + print("Invalid data") \ No newline at end of file diff --git a/docs/intermediate/regex-04.py b/docs/intermediate/regex-04.py new file mode 100644 index 00000000..d280d5b9 --- /dev/null +++ b/docs/intermediate/regex-04.py @@ -0,0 +1,10 @@ +import re +my_input = 'a2' + +# check for one or more digits +digits_test = re.search('^[a|b|c]\d$', my_input) + +if digits_test: + print("We a or b or c followed by a digit") +else: + print("Invalid data") \ No newline at end of file diff --git a/docs/intermediate/regex.md b/docs/intermediate/regex.md index 33b6d425..bc0ace92 100644 --- a/docs/intermediate/regex.md +++ b/docs/intermediate/regex.md @@ -2,23 +2,90 @@ A regular expression is a shorthand notation for describing a search pattern. Regular expressions are handy whenever you have one ore more strings and you want to detect if a specific patten of characters appears in that string. Regular expressions are mostly standardized so that if you use them other developers will quickly be able to read this the patten notation and understand the function of the pattern. +## Finding four digits in an input string Let's take a simple example. What if you want an input to to a function to contain four digits. The string ```\d``` matches a single digit. Here is the python program to check to see if there are four consecutive digits in an input string: ```python import re - -# Check if the string has four digits in a my_input = '1234' + +# check to see if there are four consecutive digits somewhere in the input digits_test = re.search('\d\d\d\d', my_input) if digits_test: - print("We have four digits") + print("We have four digits!") else: print("Invalid data") ``` -The name of the regular expression module is just "re". We must import this line first. The key line has re.search() function with two parameters. The first parameter is the regular expression and the second is the string to be tested. -[Run on Trinket.io](https://trinket.io/python3/780b1810ad) +[Run the regex-01 program on Trinket.io](https://trinket.io/python3/780b1810ad) + +If you run the program as-is, it will tell you that the string **'1234'** will pass the test and the string **We have four digits**, but if you change the my_input to be **123x** then the **Invalid data** will be returned. + +The name of the regular expression module is just "re". We must have an import this line with the "re" module at the start of our program. The key line has **re.search()** function with two parameters. The first parameter is the regular expression and the second is the string to be tested. + +The exact way to read this line is: + + check to see if there are four consecutive digits somewhere in the input + +Note that if you put letters or spaces before or after the four digits the test will still pass. + +## Finding exactly four digits +What if you wanted **exactly** four digits? For example say you have a phone system that has exactly four-digit extensions. To do this you would need to also specify two additional characters: the start expression **"^"** and the end character **"$"**. + +Here is what that program would look like: + +```python +import re +my_input = '1234' + +# check to for exactly four digits +digits_test = re.search('^\d\d\d\d$', my_input) + +if digits_test: + print("We have exactly four digits!") +else: + print("Invalid data") + ``` + +[Run the regex-02 program on Trinket.io](https://trinket.io/library/trinkets/ef0666e0d3) + +## Checking for one or more digits +Sometimes we don't know exactly how many digits an input field should contain. We might just want to say "look for one or more digits". We can do this by using the **'+'** expression which says "look for one or more of the previous expression". Here is a program that will check for one or more digits: + +```python +import re +my_input = '1' + +# check for one or more digits +digits_test = re.search('^\d+', my_input) + +if digits_test: + print("We have one or more digits!") +else: + print("Invalid data") + ``` + +## Common regular expression characters for validating inputs +Now that you have seen several examples of regular expressions, lets list some of the most common ones we use to validate input data.: + +|Expression|Meaning|Example| +|---|---|---| +|\d|A single digit in the range 0 to 9|**'\d\d\d'** for validating **'123'**| +|^|The start of a string|**'^hello'**| +|$|The end of a string|**'hello'$**| +|[a-z]|Any lowercase character in the range of **'a'** to **'z'**|**'[a-z]\d\d'** will match **'x12'**| +|[A-Z]|Any uppercase character in the range **'A'** to **'Z'**|**'\d\d[A-Z]** will match **'47N'**| +|**.**|Zero or more occurrences of the previous expression|**'\d.'** would match an empty string, '1' or '12'| +|**+**|One or more occurrences of the previous expression|**'\d+'** would match '1' or '12' but would not match an empty string| +|**|**|Or|**'a|b|c\d'** will match **'a1'** or **'ab2'**| + +Note that there is an important difference between using the "dot" (period) and the "plus" characters. We use the dot when we want to check for an optional integer. We use the plus sign when we require an integer. When we are gathering information from users in a form, we often must be careful to specify what fields should require an integer input for the field to be valid. + + +## Combining Regular Expressions +## Python Regular Expression References +[Python Regular Expressions HOWTO](https://docs.python.org/3/howto/regex.html#regex-howto) diff --git a/docs/intermediate/regex.py b/docs/intermediate/regex.py new file mode 100644 index 00000000..952e60d8 --- /dev/null +++ b/docs/intermediate/regex.py @@ -0,0 +1,10 @@ +import re +my_input = '1234' + +# check to for exactly four digits +digits_test = re.search('^\d\d\d\d$', my_input) + +if digits_test: + print("We have exactly four digits!") +else: + print("Invalid data") \ No newline at end of file From 46bf1b1280b205d8e0c4bf213e21271ff2d736f6 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 18 Jul 2020 16:18:46 -0500 Subject: [PATCH 04/65] Added Random Stars --- docs/intermediate/regex-05.py | 8 +++ docs/intermediate/regex.md | 62 +++++++++++++++++- docs/trinket/00-introduction.md | 13 ++-- docs/trinket/13-random-stars.md | 38 +++++++++++ docs/trinket/beginning-python-journey-map.png | Bin 0 -> 299614 bytes mkdocs.yml | 1 + trinket/Beginning-Python-Journey-Map.pptx | Bin 0 -> 755857 bytes 7 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 docs/intermediate/regex-05.py create mode 100644 docs/trinket/13-random-stars.md create mode 100644 docs/trinket/beginning-python-journey-map.png create mode 100644 trinket/Beginning-Python-Journey-Map.pptx diff --git a/docs/intermediate/regex-05.py b/docs/intermediate/regex-05.py new file mode 100644 index 00000000..3c54f4b9 --- /dev/null +++ b/docs/intermediate/regex-05.py @@ -0,0 +1,8 @@ +import re +my_input = 'a@myco.com' + +# check for one or more digits +if re.search('^\w+@\w+\.\w+$', my_input): + print("E-mail address valid") +else: + print("Error: Invalid email address!") \ No newline at end of file diff --git a/docs/intermediate/regex.md b/docs/intermediate/regex.md index bc0ace92..47d5dcba 100644 --- a/docs/intermediate/regex.md +++ b/docs/intermediate/regex.md @@ -46,7 +46,7 @@ if digits_test: print("We have exactly four digits!") else: print("Invalid data") - ``` +``` [Run the regex-02 program on Trinket.io](https://trinket.io/library/trinkets/ef0666e0d3) @@ -64,7 +64,7 @@ if digits_test: print("We have one or more digits!") else: print("Invalid data") - ``` +``` ## Common regular expression characters for validating inputs Now that you have seen several examples of regular expressions, lets list some of the most common ones we use to validate input data.: @@ -79,13 +79,69 @@ Now that you have seen several examples of regular expressions, lets list some o |**.**|Zero or more occurrences of the previous expression|**'\d.'** would match an empty string, '1' or '12'| |**+**|One or more occurrences of the previous expression|**'\d+'** would match '1' or '12' but would not match an empty string| |**|**|Or|**'a|b|c\d'** will match **'a1'** or **'ab2'**| +|**\w**|Characters that typically make up words. This includes upper and lowercase charcters [a-z], [A-Z] and digits as well as the underscore|**\w** would match **'hello_world123'**| Note that there is an important difference between using the "dot" (period) and the "plus" characters. We use the dot when we want to check for an optional integer. We use the plus sign when we require an integer. When we are gathering information from users in a form, we often must be careful to specify what fields should require an integer input for the field to be valid. -## Combining Regular Expressions +## Combining Regular Expressions: Checking E-mail Address + +We can combine regular expressions to make more complicated expressions. For example here are some rules that form a simple e-mail address: + +1. a string of word characters +2. the ampersand character **'@'** +3. a string of additional word characters +4. the period character **'.'** +5. some additional characters such as 'com', 'edu' + +Here is a regular expression that does this: + +```python +re.search('^\w+@\w+\.\w+$', my_input) +``` + +Recall that the \w+ character looks for one or more word characters. +Note that we had to use a backslash in from of the period so it takes it as a literal period and not as a regular expression for zero-or-more of prior expression. + +Here is a program that prompts the user to input a valid e-mail: + +```python +import re +my_input = 'a@myco.com' + +# check for one or more digits +if re.search('^\w+@\w+\.\w+$', my_input): + print("E-mail address valid") +else: + print("Error: Invalid email address!") +``` + +## Finding The Right Regular Expression + +You often are confronted with validating complex fields like phone numbers, zip codes, and postal addresses. The good news is that many other people have also needed to do this and with a bit of searching you can probably find a regular expression that meets your needs. One of the best places to look for regular expressions is [RegExLib](ttps://www.regexlib.com/). You can not only search for a regular expression but you can test it on common patterns. Other users have also voted on which regular expressions are their favorites. There are also categories of regular expressions such as: + +1. E-mails +2. Dates and times +3. Strings +4. Numbers +5. URI +6. Addresses/Phone +7. Markup +8. Miscellaneous + +## From Search to + +The re module offers a set of functions that allows us to search a string for a match: + +Function Description +findall Returns a list containing all matches +search Returns a Match object if there is a match anywhere in the string +split Returns a list where the string has been split at each match +sub Replaces one or many matches with a string ## Python Regular Expression References + +[Python RegEx Cheat Sheet](https://www.debuggex.com/cheatsheet/regex/python) [Python Regular Expressions HOWTO](https://docs.python.org/3/howto/regex.html#regex-howto) diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index 907041a3..3eb54b14 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -7,11 +7,14 @@ These labs assume that you have internet access and a modern web browser such as We use the [Trinket web site](https://trinket.io/) because it has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free version is limited to the older Python 2.X functionality. If you want to try another web-based system that support turtle graphics and Python 3.X we suggest the web site [repl.it](http://repl.it) +## Beginning Python Journey Map + +![Beginning Python Journey Map](../img/beginning-python-journey-map.png) + ## List of Trinket Python Learning Labs For students that are new to programming, here are some sample programs (what we call learning labs) that you can try. You can learn by reading the sample programs, going to the Trinkit.io site and changing some values in the code. Each of the labs has experiments at the end you can do to extend to see if you have mastered the concepts before you go on to the next lab. -0. [Introduction](./00-introduction.md) - this file -1. [Turtle graphics](./01-turtle-graphics.md) - introduction to the Turtle Graphs library with list of drawing functions +1. [Turtle graphics](./01-turtle-graphics.md) - introduction to the Turtle Graphs library with a list of drawing functions 2. [Simple square](./02-simple-square.md) - draw a square by moving and turning right four times 4. [Variables](./03-variables.md) - add variables for the move edge distance and angle 5. [Loops](./04-loops.md) - add a loop to make our code smaller @@ -21,8 +24,4 @@ For students that are new to programming, here are some sample programs (what we 9. [Random](./08-random.md) - generate random numbers 9. [Lists](./08-list.md) - store a list of colors 10. [Inputs](./11-input.md) - get some input from the user -11. [Recursion](./12-recursion.md) - create a function that calls itself - -## Journey Map - -![Intermediate Python Journey Map](../img/intermediat-python-journey-map.png) +11. [Recursion](./12-recursion.md) - create a function that calls itself \ No newline at end of file diff --git a/docs/trinket/13-random-stars.md b/docs/trinket/13-random-stars.md new file mode 100644 index 00000000..f5a66ce3 --- /dev/null +++ b/docs/trinket/13-random-stars.md @@ -0,0 +1,38 @@ +import turtle +import random +# this is a list of colors +colorList = ['red', 'orange', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] +dan = turtle.Turtle() +dan.shape('turtle') +dan.delay(1) +dan.clear() +dan.penup() + +max_distance = 160 + +# draw an eight sided star +def star(x, y, size, color): + dan.goto(x, y) + dan.color(colorList[random.randint(0,len(colorList)-1)]) + dan.pendown() + dan.begin_fill() + for i in range(1,8): + dan.forward(size) + dan.right(150) + dan.forward(size) + dan.left(100) + dan.end_fill() + dan.right(10) + dan.penup() + +# draw a pattern at a random location on the screen +for i in range(5): + x = random.randint(-max_distance, max_distance) + y = random.randint(-max_distance, max_distance) + size = random.randint(15, 30) + color_index = random.randint(0,8) + # draw a star with size and color + star(x,y,size, color_index) + +# hide so we have a nice drawing +dan.hideturtle() \ No newline at end of file diff --git a/docs/trinket/beginning-python-journey-map.png b/docs/trinket/beginning-python-journey-map.png new file mode 100644 index 0000000000000000000000000000000000000000..16d7fd5e492e3f176acf41711c7ac523df2775bc GIT binary patch literal 299614 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⪼Yi;Y2BBca=T-L%0doIVy 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%0Aq_aY_tC8($7gLUIM(mD1NyIynS|RTc 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
    =y^eI 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

    S*JNxzd6HW9!aSy0Q0nbgouG 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%0Dkx%&3I(z7wmYc5u5?J25@#c_7J<$< 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

    UFErOB~XW_R_9JI~!e$gxy6>shqIWMlw97CX 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 Date: Sat, 18 Jul 2020 16:36:12 -0500 Subject: [PATCH 05/65] added intro and menu update --- docs/trinket/00-introduction.md | 8 ++++++-- docs/trinket/01-turtle-graphics.md | 33 ++++++++++++++++++++---------- mkdocs.yml | 5 +++-- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index 3eb54b14..e41cbdd1 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -9,7 +9,7 @@ version is limited to the older Python 2.X functionality. If you want to try an ## Beginning Python Journey Map -![Beginning Python Journey Map](../img/beginning-python-journey-map.png) +![Beginning Python Journey Map](./beginning-python-journey-map.png) ## List of Trinket Python Learning Labs For students that are new to programming, here are some sample programs (what we call learning labs) that you can try. You can learn by reading the sample programs, going to the Trinkit.io site and changing some values in the code. Each of the labs has experiments at the end you can do to extend to see if you have mastered the concepts before you go on to the next lab. @@ -24,4 +24,8 @@ For students that are new to programming, here are some sample programs (what we 9. [Random](./08-random.md) - generate random numbers 9. [Lists](./08-list.md) - store a list of colors 10. [Inputs](./11-input.md) - get some input from the user -11. [Recursion](./12-recursion.md) - create a function that calls itself \ No newline at end of file +11. [Recursion](./12-recursion.md) - create a function that calls itself + +## Additional Labs +In addition to our core labs, here are a few other labs that your students might find fun: + diff --git a/docs/trinket/01-turtle-graphics.md b/docs/trinket/01-turtle-graphics.md index a0f9700c..61498279 100644 --- a/docs/trinket/01-turtle-graphics.md +++ b/docs/trinket/01-turtle-graphics.md @@ -1,9 +1,17 @@ -# Turtle Graphics Library +# Trinket Account + +Before you begin, we would like you to go to the [Trinket web site](https://trinket.io/) and create your own account. This will allow you to save your programs and come back later and continue working on them. + +Here is the link to the Trinket web site: + + [https://trinket.io/](https://trinket.io/) + +Be sure to bookmark this site for future reference. ## What is the turtle graphics library? -Turtle graphs have been around for almost [50 years](https://en.wikipedia.org/wiki/Turtle_graphics). A turtle is a drawing object that has position, direction and a pen to draw as it moves around a grid. Turtle graphic are the preferred way to teach many concepts in computer science because they give you fast feedback. +Turtle graphs have been around for almost [50 years](https://en.wikipedia.org/wiki/Turtle_graphics). A turtle is a drawing object that has position, direction, and a pen to draw as it moves around a grid. Turtle graphics are the preferred way to teach many concepts in computer science because they give you fast feedback. Fast feedback allows you to quickly see the errors in your code and correct them. -For many of our introductory python labs we will use the turtle python library. Although there are many different versions of the turtle library, most of the commands are similar. What you learn with the trinket python system will be useful in other systems also. +For many of our introductory python labs, we will use the turtle python library. Although there are many different versions of the turtle library, most of the commands are similar. What you learn with the trinket python system will be useful in other systems also. ## Initialization commands There are three lines that will appear at the top of these labs: @@ -23,7 +31,7 @@ sue.shape('turtle') Just make sure you change all the names in the file to reference your new name. ## Moving the Turtle -There a five basic ways to move your turtle around the screen. Our screen is approximatly 300 points wide and 400 points high. The point (0,0) is at the center of our screen. The first four are relative commands. The last one will move the turtle to the absolute x and y location. +There are five ways to move your turtle around the screen. Our screen is around 400 points wide and 400 points high. The point (0,0) is at the center of our screen. The first four are relative movement commands. The last one will move the turtle to the absolute x and y location. - t.forward(40) - t.back(40) @@ -32,12 +40,12 @@ There a five basic ways to move your turtle around the screen. Our screen is ap - t.goto(x,y) ## Drawing -There are several ways to draw virtual "ink" on the screen. The most common way is to just move your turtle around. It will draw a thin black line by default. +There are several ways to draw virtual "ink" on the screen. The most common way is to just move your turtle around. It will draw a thin black line by default, but you can also change the pen color and the width of drawing. -- t.penup() -- t.pendown() -- t.color('red') -- t.pensize(5) +- t.penup() - no drawing will happen when the pen is up +- t.pendown() - drawing will occur on the screen when the turtle moves +- t.color('red') - set the pen to a specific color +- t.pensize(5) - set the width of the pen from 1 to 20. 5 is a good size. - t.begin_fill() - begin filling a region you draw around - t.end_fill() - end the fill region @@ -48,7 +56,8 @@ There are also a few built-in drawing functions. The circle function that takes ## Misc There are also a few other miscellaneous things you can do. You can do some drawing and then clear the screen. -- t.clear() +- t.clear() - clears the screen of all drawing +- t.hideturtle() - hides the turtle on the screen You can see a full list of the turtle commands [here](https://trinket.io/docs/python). Just click on the turtle area and scroll down. @@ -60,4 +69,6 @@ import random # get a random number between -200 and 200 myNumber = random.randint(-200, 200) ``` -This will generate a random number from -200 to 200. You can use this number to randomly place items on the drawing canvas. \ No newline at end of file +This will generate a random number from -200 to 200. You can use this number to randomly place items on the drawing canvas. + +Now, let's get started doing some fun drawing! \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 188914af..1eb2fbb7 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,8 +3,8 @@ nav: - CoderDojo TC: https://coderdojotc.github.io/CoderDojoTC/ - Beginning Python - Trinket: - Introduction: trinket/00-introduction.md - - Turtle Graphics: trinket/01-turtle-graphics.md - - Simple Square: trinket/02-simple-square.md + - Trinket Account: trinket/01-turtle-graphics.md + - Turtle Square: trinket/02-simple-square.md - Variables: trinket/03-variables.md - Loops: trinket/04-loops.md - Conditional: trinket/05-conditionals.md @@ -23,6 +23,7 @@ nav: - Intermediate Python: - Introduction: intermediate/intro.md - Variables and Scope: intermediate/scope.md + - Data Types: intermediate/data-types.md - Maps: intermediate/maps.md - Files: intermediate/files.md - Images: intermediate/images.md From 7038f7f397f3d876d0daabdff6ca211be0db2f8e Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Wed, 22 Jul 2020 08:46:37 -0400 Subject: [PATCH 06/65] adding first half of intermediate content --- docs/intermediate/01-variables-scope.md | 81 +++++++++++ docs/intermediate/02-data-types.md | 145 +++++++++++++++++++ docs/intermediate/03-data-type-validation.md | 69 +++++++++ docs/intermediate/04-maps.md | 78 ++++++++++ docs/intermediate/data-types.md | 2 - docs/intermediate/intro.md | 9 +- docs/intermediate/maps.md | 2 - docs/intermediate/scope.md | 2 - mkdocs.yml | 8 +- 9 files changed, 381 insertions(+), 15 deletions(-) create mode 100644 docs/intermediate/01-variables-scope.md create mode 100644 docs/intermediate/02-data-types.md create mode 100644 docs/intermediate/03-data-type-validation.md create mode 100644 docs/intermediate/04-maps.md delete mode 100644 docs/intermediate/data-types.md delete mode 100644 docs/intermediate/maps.md delete mode 100644 docs/intermediate/scope.md diff --git a/docs/intermediate/01-variables-scope.md b/docs/intermediate/01-variables-scope.md new file mode 100644 index 00000000..ff24bad7 --- /dev/null +++ b/docs/intermediate/01-variables-scope.md @@ -0,0 +1,81 @@ +## Variables +If you've made it this far, you know a variable is a container for data in Python. Let's dive a little deeper into the world of variables! + +### Naming conventions +In the [Python community](https://www.python.org/dev/peps/pep-0008/#function-and-variable-names), the general accepted format for variable and function names is all lower case, with multiple words separated by underscores. For example: + +variable = 0 + +my_variable = 0 + +my_function_name() + +### Giving variables and functions meaningful names +Variable names should be meaningful to you as the programmer, to any other developers that may be collaborating with you and any developers that may look at your code in the future. Below are two instances of the same code using different variable and function names. Which is easier to read? + +```python +def my_first_function(arg): + variable1 = arg + 2 + return variable1 + +def my_second_function(arg): + variable = arg * 5 + return variable + +print(my_first_function(my_second_function(5))) +``` + + +```python +def plus_two(num): + two_more = num + 2 + return two_more + +def times_five(num): + five_times = num * 5 + return five_times + +print(plus_two(times_five(5))) +``` + +### Variable Scope +A variable's scope refers to where in your code you can access that variable. The scope of a variable defined within a function is limited to the function in which it is defined. This is an example of a local variable. For example, using the more legible code above: + +```python +def plus_two(num): + two_more = num + 2 + return two_more + +def times_five(num): + five_times = num * 5 + return five_times + +print(plus_two(times_five(5))) + +print(five_times) +``` + +Attempting to print the value of five_times within the global scope of the code will result in a NameError, because the scope of the variable five_times is limited to the times_five function. Conversely, a global variable is a variable that can be accessed anywhere within your code. Global variables are usually created within the main body of your code, that is outside of functions, as demonstrated below. You can see the my_name variable is accessible within the who_is_awesome function. + +```python + +my_name = "Zack" +def who_is_awesome(): + print(my_name + " is awesome!") + +``` + +You can make a variable used within a function globally accessible by using the 'global' keyword. For example, + +```python +def who_is_awesome(name): + global awesome_statement + awesome_statement = name + " is awesome!" + print("Variable Reference Within Function: " + awesome_statement) + +who_is_awesome("Zack") +print("Global Variable Use: " + awesome_statement) +``` + +## Food for Thought +When would it make sense to use the global keyword within a function to make a variable globally accessible, instead of returning the variable from the function? \ No newline at end of file diff --git a/docs/intermediate/02-data-types.md b/docs/intermediate/02-data-types.md new file mode 100644 index 00000000..2851beac --- /dev/null +++ b/docs/intermediate/02-data-types.md @@ -0,0 +1,145 @@ +## Data Types + +![Data GIF](https://media.giphy.com/media/4FQMuOKR6zQRO/giphy.gif) + +So we know that data is a piece of information, but there are of course different types of data! Let's illustrate the importance of data types... + +```python + +three_string = "3" +three_integer = 3 + +print(three_string*3) + +print(three_integer*3) +``` + +Notice the difference in the output when multiplying three_string and three_int by three. three_string * 3 returned 333, whereas three_integer * 3 returned 9. This is because the three_string variable is a string datatype. + +### What are the different data types + +**Text** + + - string: _str_ + - example: ```my_string = "this is a string"``` + +**Numeric** + + - integer: _int_ + - example: ```my_int = 3``` + - float: _float_ + - example: ```my_float = 3.14``` + + Both integers and floats can be negative. For example: ```my_negative_int = -3``` + +**Sequence** + + - List: _list_ — an unordered list of data / objects. + - example: ```my_list = [1, 2, my_float, 4, "Bananas"]``` + - Tuple: _tuple_ — an ordered and immutable list of of data / objects. Immutable means _unchangeable_, once you have defined a tuple you cannot change, remove or reorder elements— for any of these operations, use a list. + - example: ```my_tuple = (1, 2, my_float, 4, "Bananas")``` + +As you can see, elements in lists and tuples do not have to be the same data type. There are three integers, a variable and a string in both the list and tuple shown above. + +**Boolean** + +- Boolean: _bool_ — a binary data type that is either True or False + - example: ```my_bool = True``` + + +**None** + +-None: _NoneType_ — ```None``` is a keyword in Python used to indicate a null value. None differs from False or an empty string (```""```). A function that does not specify a return value will always return None. + +```python +def no_return(): + print("This function does not return anything.") + +no_return_response=no_return() + +print(no_return_response == None) +print(type(no_return_response)) +``` + +As you can see from the code above, when we assign the result of the _no_return()_ function call to the _no_return_response_ variable, the print statement in the function is executed. However, the value of _no_return_response_ is None, since there was no return statement in the _no_return_ function. + +**Mapping** + +-Dictionary: _dict_ — an unordered data type consisting of key, value pairs + + Creating a dictionary + + A dictionary is demarcated by curly braces around key:value pairs that are separated by commas. Keys and values do not need to be the same data types. + + ```python + my_dict = {"dictionary" : "a book or electronic resource that lists the words of a language", "int" : "short for integer. A whole number; a number that is not a fraction", "float" : "for our purposes this means a decimal number— a number that consists of a whole number and a fractional part", "bool" : "short for boolean; a binary, True or False value"} + ``` + + We'll learn more about dictionaries in the [maps section](04-maps.md) + +#### Type Casting +Strings consisting of digits can easily be converted to floats or integers + +```python +#ask the user to input a number +number=input("Type a number here and press 'enter' to proceed>>>") + +#side note: '\n' tells python to print a newline +#side note: we can use the the type keyword to determine what datatype a variable is +print("\nthe number variable is currently the " + str(type(number)) + " data type\n") + +#as you can see the number the user entered belongs to the str data type, that's because input always returns a string. + +#so if we wanted to see what two times the number the user entered is how would we do it? +print(number * 2) + +#that didn't do what we wanted, did it? + +#let's convert the number variable to the int data type: +number_as_int = int(number) + +print("\nthe number_as_int variable is currently the " + str(type(number_as_int)) + " data type") + +#okay now our number is an int! + +#as you know, division operation always returns a float, even if there is no remainder + +my_float= 8 / 4 + +print("\nmy_float is " + str(my_float)) + + +``` + +## You Try It! + +We know what type casting is and how to convert a string to an integer. We also know that a division operation in Python will always return a float, regardless of whether or not there's a remainder. Finally, we know using the modulo operator (_%_) in place of the division operator will return only the remainder—for example, ```7 % 4``` will return 3. Using these pieces of knowledge, implement a function that will convert a float to an int, but only if there is no remainder. Complete the function definition for float_converter below! We've put some test conditions below to check your function. + +```python +def float_converter(some_float): + #if some_float has a remainder return the original float + #else return the some_float as an int + +#test our function: +expecting_float = float_converter(7/3) +expecting_int = float_converter(4/2) + +test1 = expecting_float == 7/3 +test2 = expecting_int == 2 and type(expecting_int) == int +test3 = expecting_float != 2 + +if test1 and test2: + print("Congrats! You've properly implemented the float_converter function!") +elif test1: + print("It looks like you've properly returned the original float, but didn't return some_float as an integer when there's no remainder.") +elif test2 and test3: + print("It looks like you've properly type returned some_float as an integer when there's no remainder! But you still need to return the original float when there is a remainder.") +elif test2 and not test3: + print("It looks It looks like you may always be returning my_float as an integer regardless of whether or not there's a remainder.") +else: + print("It looks like you haven't properly implemented either of the requirements for float_converter.") + +``` + +## Food for Thought +When learning about the dictionary data type, we created _my_dict_, which contained data types and their definitions. Let's say in addition to the definitions of each data type, I wanted to add part of speech and store an example of each data type. How might we do this? Hint: it involves more dictionaries! \ No newline at end of file diff --git a/docs/intermediate/03-data-type-validation.md b/docs/intermediate/03-data-type-validation.md new file mode 100644 index 00000000..00ffa9db --- /dev/null +++ b/docs/intermediate/03-data-type-validation.md @@ -0,0 +1,69 @@ +# Checking Data Types of Function Parameters +In the beginning course we learned how to pass arguments to functions. Now we learn how to make sure our functions get the data that they expect! + +We saw in the data types lab we can use the type keyword to get the type of a variable (e.g. ```type(my_var)```). We can use this in combination with the _is equal to_ operator (```==```) to make sure a variable passed to a function is the right data type. + + +```python + +def validateType(expecting_string): + if type(expecting_string)==str: + print("You passed a string!") + else: + print("You passed something that wasn't a string!") + +``` + +As you may recall, during the data type labs we used the input function to solicit user input. The response from input is always a string! So if we ask the user to input a number, how do we confirm the input is in fact a number before type casting int on the user input? Remember type casting int on an alphabetic string will throw an error. Let's check it out. + +```python +def cast_to_int(): + user_input=input("Enter an int\n>") + user_input_as_int=int(user_input) + return user_input_as_int + +some_int=cast_to_int() +print(some_int) + +``` + +Let's try [running this on trinket.io](https://trinket.io/python/51fabe7c6c) and when asked to enter an int, let's enter a word! + +As you can see we get a type error, because we're trying to convert an alphabetic string to an integer: + +```python +ValueError: invalid literal for int +``` + +So what's the work around? Strings have some very useful methods (methods are functions that belong to objects. We'll take about objects in the advanced section), among them ```.isdigit()```! Let's see it in action! + +```python +def cast_to_int(): + user_input=input("Enter an int\n>") + if user_input.isdigit(): + user_input_as_int=int(user_input) + return user_input_as_int + else: + return "You did not input an integer!" + +some_int=cast_to_int() +print(some_int) + +``` + +Let's say the user input was critical to the program we're building and if the user does not input an integer we want to throw an error to the user. We can use the ```assert``` keyword to achieve this. The syntax for the assert keyword is as follows: ```assert some_conditional_statement, "Error message to output."``` Let's see it in action below! + +```python +def cast_to_int(): + user_input=input("Enter an int\n>") + assert user_input.isdigit(), "You did not input an integer!" + user_input_as_int=int(user_input) + return user_input_as_int + +some_int=cast_to_int() +print(some_int) + +``` + +## You try it! +Let's say we want to continously bug a user until they input an integer. How might we achieve this using the lesson above + what we know about while loops? \ No newline at end of file diff --git a/docs/intermediate/04-maps.md b/docs/intermediate/04-maps.md new file mode 100644 index 00000000..0d4adc40 --- /dev/null +++ b/docs/intermediate/04-maps.md @@ -0,0 +1,78 @@ +# Maps in Python + +-Dictionary: _dict_ — an unordered data type consisting of key, value pairs + + Creating a dictionary + + A dictionary is demarcated by curly braces around key:value pairs that are separated by commas. + +```python + my_dict = {"dictionary" : "a book or electronic resource that lists the words of a language", "int" : "short for integer. A whole number; a number that is not a fraction", "float" : "for our purposes this means a decimal number— a number that consists of a whole number and a fractional part", "bool" : "short for boolean; a binary, True or False value"} +``` + +Retrieving the value of a key from a dictionary: remember a dictionary consists of key, value pairs. To get a value for a given key we reference the key: + +```python +print(my_dict['integer']) +``` + +If we try to reference a key that does not exist in a dictionary a KeyError will be thrown. + +```python +print(my_dict['tuple']) +``` + +A quick way to avoid the KeyError is by using the _.get()_ method for dictionaries: + +```python +print(my_dict.get('tuple')) # this will print None because the key 'tuple' does not exist in my_dict. + +``` + + + +Another way to avoid the KeyError and determine if a key exists in a dictionary is to use the ```in``` keyword. + +```python + +if 'tuple' in my_dict: + print("'tuple' is a key in my_dict") +else: + print("'tuple' is NOT a key in my_dict") + +if 'int' in my_dict: + print("'int' is a key in my_dict") +else: + print("'int' is NOT a key in my_dict") + + +``` + +Adding or updating a key / value pair to a dictionary: + +```python + +my_dict['str']= "short for string; a text data type in Python defined using a pair of double or single quotes around the data" + +``` + + + + +## You try it! + +Using your knowledge of how dictionaries and conditional statements work, create a function that takes a key and a value as arguments and will either add the key/value pair and print "This key / value pair has been added to the dictionary" if the key does not exist in the dictionary, or prints "This key is already in the dictionary!" if the key already exists. Also important to keep in mind when doing this is what we just learned about variable scopes! + +``` + my_dict = {"dictionary" : "a book or electronic resource that lists the words of a language", "int" : "short for integer. A whole number; a number that is not a fraction", "float" : "for our purposes this means a decimal number— a number that consists of a whole number and a fractional part", "bool" : "short for boolean; a binary, True or False value"} + + def add_to_dict(key, value): + #Implement the function here! + + add_to_dict("int","an integer") + #This should print "This key is already in the dictionary!" + + add_to_dict("tuple","an ordered, immutable list of data / objects") + #This should add the key/value pair to the my_dict dictionary and print "This key / value pair has been added to the dictionary" + +``` \ No newline at end of file diff --git a/docs/intermediate/data-types.md b/docs/intermediate/data-types.md deleted file mode 100644 index 97d038ae..00000000 --- a/docs/intermediate/data-types.md +++ /dev/null @@ -1,2 +0,0 @@ -# Build In Data Types in Python - diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index 51c5dd71..928f0da2 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -5,11 +5,10 @@ This course assumes you are familiar with beginning concepts in Python such as v Note that you can do the first four lessons using web-based Python programming tools like Trinket.io or repl.it. Starting with lesson #5 on Files you will need to have Python installed on your local computer. Please visit the [Python.org](http://python.org) web site for the installation instructions on your operating systems. You can use the command-line version of Python from a Terminal or shell or you can install one of the Python Integrated Development Environments (IDEs). The concepts in this course include: - -1. [**Variables and Scope**](./scope.md) - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. -2. [**Data types**](./data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. -3. [**Checking Data Types of Function Parameters**](./checking-parameters.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! -4. [**Maps**](./maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. +1. [**Variables and Scope**](01-variables-scope.md) - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. +2. [**Data types**](02-data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. +3. [**Checking Data Types of Function Parameters**](03-data-type-validation.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! +4. [**Maps**](04-maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. 5. [**Files**](./files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! 6. [**Images**](./images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! 7. [**Defining Your Own Modules**](./modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. diff --git a/docs/intermediate/maps.md b/docs/intermediate/maps.md deleted file mode 100644 index 7fecb23c..00000000 --- a/docs/intermediate/maps.md +++ /dev/null @@ -1,2 +0,0 @@ -# Maps in Python - diff --git a/docs/intermediate/scope.md b/docs/intermediate/scope.md deleted file mode 100644 index d7b737fe..00000000 --- a/docs/intermediate/scope.md +++ /dev/null @@ -1,2 +0,0 @@ -# Scope - diff --git a/mkdocs.yml b/mkdocs.yml index 1eb2fbb7..9a9034c6 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,10 +21,10 @@ nav: - Flower: repl/07-flower.md - Recursion: repl/12-recursion.md - Intermediate Python: - - Introduction: intermediate/intro.md - - Variables and Scope: intermediate/scope.md - - Data Types: intermediate/data-types.md - - Maps: intermediate/maps.md + - Variables and Scope: intermediate/01-variables-scope.md + - Data Types: intermediate/02-data-types.md + - Data Types & Function Parameters: intermediate/03-data-type-validation.md + - Maps: intermediate/04-maps.md - Files: intermediate/files.md - Images: intermediate/images.md - Regular Expressions: intermediate/regex.md From fe662c9c6d32481b8b7e60853596e78a6bdc79af Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Wed, 22 Jul 2020 08:49:59 -0400 Subject: [PATCH 07/65] fixing numbering on intermediate content intro page --- docs/intermediate/intro.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index 928f0da2..9f9f1328 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -5,10 +5,11 @@ This course assumes you are familiar with beginning concepts in Python such as v Note that you can do the first four lessons using web-based Python programming tools like Trinket.io or repl.it. Starting with lesson #5 on Files you will need to have Python installed on your local computer. Please visit the [Python.org](http://python.org) web site for the installation instructions on your operating systems. You can use the command-line version of Python from a Terminal or shell or you can install one of the Python Integrated Development Environments (IDEs). The concepts in this course include: -1. [**Variables and Scope**](01-variables-scope.md) - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. -2. [**Data types**](02-data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. -3. [**Checking Data Types of Function Parameters**](03-data-type-validation.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! -4. [**Maps**](04-maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. + +1. [**Variables and Scope**](./01-variables-scope.md) - In this lab we learn that you can control what parts of your program can access a variable. This comes in handy when we write larger programs. +2. [**Data types**](./02-data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. +3. [**Checking Data Types of Function Parameters**](./03-data-type-validation.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! +4. [**Maps**](./04-maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. 5. [**Files**](./files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! 6. [**Images**](./images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! 7. [**Defining Your Own Modules**](./modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. From 6dca4449e7f1743f8600626db80483d239937193 Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Fri, 24 Jul 2020 00:36:05 -0400 Subject: [PATCH 08/65] adding labs on file io and image open and display --- docs/intermediate/05-files.md | 116 +++++++++++++++++++++++++++++++++ docs/intermediate/06-images.md | 11 ++++ docs/intermediate/files.md | 2 - docs/intermediate/images.md | 2 - docs/intermediate/intro.md | 4 +- mkdocs.yml | 4 +- 6 files changed, 131 insertions(+), 8 deletions(-) create mode 100644 docs/intermediate/05-files.md create mode 100644 docs/intermediate/06-images.md delete mode 100644 docs/intermediate/files.md delete mode 100644 docs/intermediate/images.md diff --git a/docs/intermediate/05-files.md b/docs/intermediate/05-files.md new file mode 100644 index 00000000..3f92a3c0 --- /dev/null +++ b/docs/intermediate/05-files.md @@ -0,0 +1,116 @@ +# Reading and Writing Files in Python +At this point you should now have python installed on your computer and no longer be using trinket.io. We recommend [installing Anaconda](https://www.anaconda.com/products/individual) and using the Spyder integrated development environment (IDE). + +Python makes it easy to read and write text files. The general syntax for opening a file is as follows: + +```file = open('/file/path/filename.txt', 'mode')``` + +The first argument is the path the file on your computer. If the file you're trying to open is in the same folder as your python script you can just input the filename, if not you'll need the path to file. For example, let's say you're using a Mac, your username is Bella, and you're trying to open a file called "myfile.txt" in your downloads folder. The path to that file would be: ```/Users/Bella/Downloads/myfile.txt``` + +Valid arguments for the mode parameter are: + - 'w': writing to a file, this will overwrite a file if it already exists. + - 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. + - 'r': to read a file. + +### Reading Files + +For our example we're going to [download](https://www.gutenberg.org/files/2701/old/moby10b.txt) Herman Melville's _Moby-Dick_ from the Gutenberg Project to read. + +```python + f = open("/Users/Bella/Downloads/moby10b.txt","r") + + ### Let's take all the lines in Moby-Dick and store them in a list! + + lines = f.readlines() + + ### Close the file + + f.close() +``` + +Calling the ```.readlines()``` method on a file is very useful. If we wanted to do this manually, we would iterate over the lines in the file and add them one by one to a list. + +```python + + f = open("/Users/Bella/Downloads/moby10b.txt","r") + + lines = [] #define empty list + + for line in f: + lines.append(line) #we can use the .append() method to add new items to a list! + + f.close() +``` + +Let's say we needed to know exactly how many times each word appears in _Moby-Dick_: how might we do that? We'd have to account for things like punctuation, captalization and newline characters ('\n'). We'd also need to get every word by itself. + +```python +from string import punctuation #punctuation from the string library is a string that contains all punctuation marks +#you can run print(punctuation) to see what this looks like + +punctuation_list = list(punctuation) #convert string of punctuation marks to list + + +f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file +lines = f.readlines() #put all lines from Moby-Dick into a list +f.close() #close the file + +clean_lines = [] #empty list for lines stripped of newline characters and all characters converted to lowercase + +for line in lines: #go through every line in the file + clean_line = line.strip("\n") #get rid of new-line characters + clean_line = clean_line.lower() #convert everything to lowercase + clean_lines.append(clean_line) #add cleaned line to clean_lines + +words={} #create empty dictionary for words + +for line in clean_lines: #go through every line in the file + for mark in punctuation_list: #go through every punctuation mark + line=line.replace(mark,"") #use replace method to replace each possible punctuation mark with an empty string + line_words=line.split(" ") #we're using the string split() method to separate each line by space character + #this converts the line to a list + #for example: "This is a sentence.".split(" ") --> ['This', 'is', 'a', 'sentence.'] + for word in line_words: #iterate over every word in the line + if word not in words: # if we haven't seen this word yet + words[word]=1 #add it to the words dictionary, and mark the count as 1 + else: + words[word]+=1 #we've already seen this word, so increment the count by 1 +``` + +The method we used above to remove punctuation characters from the lines is not the most computationally efficent. We're going to learn a better way to do this in the section on Regex expressions. + +One thing we left out from the mapping section is that you can iterate over a dictionary using the .items() method. Here's what that looks like: + +```python + +my_dict = {1:"one",2:"two",3:"three"} + +for key, value in my_dict.items(): + print(key, value) +#this prints: +#1 one +#2 two +#3 three +``` + +### You Try It! +If you recall, a dictionary is an unordered data structure. Use what we learned about iterating over items in a dictionary to determine what word occurs the most frequently in _Moby-Dick_! + +### Writing Files + +Let's say we wanted to write out _Moby-Dick_ with no capital letters. Here's how we could approach that: + +```python + +f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file +lines = f.readlines() #put all lines from Moby-Dick into a list +f.close() #close the file + +new_file = open("/Users/Bella/Documents/moby-dick_lowercase.txt", "w") #write new file to Documents folder + +for line in lines: + new_file.write(line.lower()) + +new_file.close() + +``` \ No newline at end of file diff --git a/docs/intermediate/06-images.md b/docs/intermediate/06-images.md new file mode 100644 index 00000000..0b20b711 --- /dev/null +++ b/docs/intermediate/06-images.md @@ -0,0 +1,11 @@ +# Reading Images in Python + +Opening and displaying images in Python is pretty straightforward. It's a bit different than opening text files though. To open an image, let's use Python's built-in pil library. + +```python +from PIL import Image +my_image = Image.open("/path/to/image.jpg") +my_image.show() +``` + +The CoderDojo AI Racing League will explore more around working with image data. \ No newline at end of file diff --git a/docs/intermediate/files.md b/docs/intermediate/files.md deleted file mode 100644 index f031c5f8..00000000 --- a/docs/intermediate/files.md +++ /dev/null @@ -1,2 +0,0 @@ -# Reading and Writing Files in Python - diff --git a/docs/intermediate/images.md b/docs/intermediate/images.md deleted file mode 100644 index cc3caf63..00000000 --- a/docs/intermediate/images.md +++ /dev/null @@ -1,2 +0,0 @@ -# Reading Images in Python - diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index 9f9f1328..5f30aea8 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -10,8 +10,8 @@ The concepts in this course include: 2. [**Data types**](./02-data-types.md) - This lab give you a tour of some of the data types in Python other than boring strings and integers. 3. [**Checking Data Types of Function Parameters**](./03-data-type-validation.md) - in the beginning course we learned how to pass parameters to functions. Now we learn how to make sure our functions get the data that they expect! 4. [**Maps**](./04-maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. -5. [**Files**](./files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! -6. [**Images**](./images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! +5. [**Files**](./05-files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! +6. [**Images**](./06-images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! 7. [**Defining Your Own Modules**](./modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. 8. [**dir() function**](./dir.md) - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! 9. [**Regular expressions**](./regex.md) - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. diff --git a/mkdocs.yml b/mkdocs.yml index 9a9034c6..b4cd325a 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -25,8 +25,8 @@ nav: - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md - - Files: intermediate/files.md - - Images: intermediate/images.md + - Files: intermediate/05-files.md + - Images: intermediate/06-images.md - Regular Expressions: intermediate/regex.md - Dir: intermediate/dir.md - Modules: intermediate/modules.md From 7a3c5acba7c1026259267575ff7cfb5b2eefb97b Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Fri, 24 Jul 2020 00:46:02 -0400 Subject: [PATCH 09/65] fixing bullet list on file io lab --- docs/intermediate/05-files.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/intermediate/05-files.md b/docs/intermediate/05-files.md index 3f92a3c0..9f57886b 100644 --- a/docs/intermediate/05-files.md +++ b/docs/intermediate/05-files.md @@ -8,9 +8,9 @@ Python makes it easy to read and write text files. The general syntax for openin The first argument is the path the file on your computer. If the file you're trying to open is in the same folder as your python script you can just input the filename, if not you'll need the path to file. For example, let's say you're using a Mac, your username is Bella, and you're trying to open a file called "myfile.txt" in your downloads folder. The path to that file would be: ```/Users/Bella/Downloads/myfile.txt``` Valid arguments for the mode parameter are: - - 'w': writing to a file, this will overwrite a file if it already exists. - - 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. - - 'r': to read a file. +* 'w': writing to a file, this will overwrite a file if it already exists. +* 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. +* 'r': to read a file. ### Reading Files From 5b408c0678eab6c0e1a376e1dbe583f85058799c Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Fri, 24 Jul 2020 00:50:38 -0400 Subject: [PATCH 10/65] second attempt to fix bulleting issue --- docs/intermediate/05-files.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/intermediate/05-files.md b/docs/intermediate/05-files.md index 9f57886b..521e4397 100644 --- a/docs/intermediate/05-files.md +++ b/docs/intermediate/05-files.md @@ -8,6 +8,7 @@ Python makes it easy to read and write text files. The general syntax for openin The first argument is the path the file on your computer. If the file you're trying to open is in the same folder as your python script you can just input the filename, if not you'll need the path to file. For example, let's say you're using a Mac, your username is Bella, and you're trying to open a file called "myfile.txt" in your downloads folder. The path to that file would be: ```/Users/Bella/Downloads/myfile.txt``` Valid arguments for the mode parameter are: + * 'w': writing to a file, this will overwrite a file if it already exists. * 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. * 'r': to read a file. From 5b22f5028defe107e4c67b742e87a0524d831f61 Mon Sep 17 00:00:00 2001 From: Parker Erickson Date: Mon, 27 Jul 2020 21:09:22 -0500 Subject: [PATCH 11/65] added module lab --- docs/intermediate/modules.md | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/docs/intermediate/modules.md b/docs/intermediate/modules.md index 9cf5b291..f0e86ccb 100644 --- a/docs/intermediate/modules.md +++ b/docs/intermediate/modules.md @@ -1,3 +1,44 @@ # Introduction to Intermediate Python # Modules +Modules are a way to store and install reusable Python code. You can create your own modules by defining a set of functions that may be useful to other developers, and packaging these functions in a specific way so the other developers can download and easily integrate your code into their projects. + +To define a module, lets create a new file called ```fibo.py``` in your current directory. Lets add the following code: + +```python +def fib(n): # write Fibonacci series up to n + a, b = 0, 1 + while a < n: + print(a, end=' ') + a, b = b, a+b + print() + +def fib2(n): # return Fibonacci series up to n + result = [] + a, b = 0, 1 + while a < n: + result.append(a) + a, b = b, a+b + return result +``` + +Now that we have some functions defined, how do we access them? Let's open the Python shell (or create a new file), and run/create: + +```python +import fibo + +fibo.fib(10) + +res = fibo.fib2(10) +print(res) +``` + +Now we have created and called our very own Python module! We can also import specific functions instead of the whole module, like this: + +```python +from fibo import fib + +fib(10) +``` + +In further labs, we will see how you can view the contents of a given module using the dir() functionality. From 8609cf1d743f50c380adc6af55fdc8832f3c532a Mon Sep 17 00:00:00 2001 From: Parker Erickson Date: Mon, 27 Jul 2020 21:10:16 -0500 Subject: [PATCH 12/65] added credits --- docs/intermediate/modules.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/intermediate/modules.md b/docs/intermediate/modules.md index f0e86ccb..deb255ae 100644 --- a/docs/intermediate/modules.md +++ b/docs/intermediate/modules.md @@ -42,3 +42,6 @@ fib(10) ``` In further labs, we will see how you can view the contents of a given module using the dir() functionality. + + +* Lab heavily inspired (code credited to): [https://docs.python.org/3/tutorial/modules.html](https://docs.python.org/3/tutorial/modules.html) \ No newline at end of file From 0e5dc5541d9466b375cfadf0c2cba602f5bd0176 Mon Sep 17 00:00:00 2001 From: Zachary T Kessel Date: Tue, 28 Jul 2020 00:10:24 -0400 Subject: [PATCH 13/65] adding dir and debugging labs --- .../{modules.md => 07-modules.md} | 0 docs/intermediate/08-dir.md | 87 +++++++++++++++++++ docs/intermediate/{regex.md => 09-regex.md} | 0 docs/intermediate/10-debugging.md | 46 ++++++++++ docs/intermediate/debugging.md | 2 - docs/intermediate/dir.md | 1 - docs/intermediate/intro.md | 8 +- mkdocs.yml | 9 +- 8 files changed, 142 insertions(+), 11 deletions(-) rename docs/intermediate/{modules.md => 07-modules.md} (100%) create mode 100644 docs/intermediate/08-dir.md rename docs/intermediate/{regex.md => 09-regex.md} (100%) create mode 100644 docs/intermediate/10-debugging.md delete mode 100644 docs/intermediate/debugging.md delete mode 100644 docs/intermediate/dir.md diff --git a/docs/intermediate/modules.md b/docs/intermediate/07-modules.md similarity index 100% rename from docs/intermediate/modules.md rename to docs/intermediate/07-modules.md diff --git a/docs/intermediate/08-dir.md b/docs/intermediate/08-dir.md new file mode 100644 index 00000000..66f6186e --- /dev/null +++ b/docs/intermediate/08-dir.md @@ -0,0 +1,87 @@ +# The dir() function + +As you know some date types and objects have their own methods. For example, a dictionary object has the ```.items()``` method. So how do you know what methods are available to you? That's where the dir function comes in! Just pass whatever data or object you want to know about as an argument. + +```python3 + +my_list=[1,2,3,4] + +dir(my_list) + +['__add__', + '__class__', + '__contains__', + '__delattr__', + '__delitem__', + '__dir__', + '__doc__', + '__eq__', + '__format__', + '__ge__', + '__getattribute__', + '__getitem__', + '__gt__', + '__hash__', + '__iadd__', + '__imul__', + '__init__', + '__init_subclass__', + '__iter__', + '__le__', + '__len__', + '__lt__', + '__mul__', + '__ne__', + '__new__', + '__reduce__', + '__reduce_ex__', + '__repr__', + '__reversed__', + '__rmul__', + '__setattr__', + '__setitem__', + '__sizeof__', + '__str__', + '__subclasshook__', + 'append', + 'clear', + 'copy', + 'count', + 'extend', + 'index', + 'insert', + 'pop', + 'remove', + 'reverse', + 'sort'] + +``` + +You can see this returns a list of methods, a lot of which begin and end with ```__```, those are special methods that we won't worry about for the purposes of this lab. But the rest of them are methods we can use on a list object. For example, ```.pop()```. + +```python + +my_list=[1,2,3,4] + +last=my_list.pop() + +print(last) #prints 4 + +print(my_list) #prints [1,2,3] + +``` + +The pop() method will remove and return the last element from the list, that is if you call pop without passing in an argument, as we just did. Pop will accept one optional argument, that is index...you can pass the index of the item you want to remove from the list and return. With lists we start counting indices from 0. So in the list below 1 is at the 0th index and 6 is at the 5th index. + +```python + +my_list=[1,2,3,4,5,6] + +print(my_list[0]) #prints 1 + +print(my_list[5]) #prints 6 + +print(my_list.pop(2)) #prints 3 + +print(my_list) #prints [1,2,4,5,6] +``` \ No newline at end of file diff --git a/docs/intermediate/regex.md b/docs/intermediate/09-regex.md similarity index 100% rename from docs/intermediate/regex.md rename to docs/intermediate/09-regex.md diff --git a/docs/intermediate/10-debugging.md b/docs/intermediate/10-debugging.md new file mode 100644 index 00000000..89a99412 --- /dev/null +++ b/docs/intermediate/10-debugging.md @@ -0,0 +1,46 @@ +# Debugging in Python + +Uncaught errors in a Python script will cause it to abruptley hault. Utilizing the error output, also known as a stack trace will help us determine the root cause. The code below throws an error. + +```python + +import random + +my_list=[] #create empty list + +#get a random item from a list +def choose_random(some_list): + return random.choice(some_list) + + +for i in range(1,10): #(produces 1,2,3,4,5,6,7,8,9 over the 9 iterations of the loop) + my_list.append(i) #add the number to my_list + if i==1: #if the number of the current iteration of the loop is 1 + my_list.pop(0) #remove the first element from the list + random.choice(my_list) #randomly chose an element from the list + +``` + +This code throws an error and produces the following stack trace: + +``` +--------------------------------------------------------------------------- +IndexError Traceback (most recent call last) + in () + 7 if i==1: + 8 my_list.pop(0) +----> 9 random.choice(my_list) + +~/anaconda3/lib/python3.7/random.py in choice(self, seq) + 259 i = self._randbelow(len(seq)) + 260 except ValueError: +--> 261 raise IndexError('Cannot choose from an empty sequence') from None + 262 return seq[i] + 263 + +IndexError: Cannot choose from an empty sequence +``` + +You can see the actual error, an IndexError is being thrown in the code for the random module (line 261 in random.py). The output text is helpful, it's saying it can't choose a random item from an empty list. So why is our list empty? We now need to determine where in our code the error is occurring, if you look up line 9, that's referring to line 9 in our code. So we know that line's causing the error, so we then have to ask in what case we're passing an empty list into random.choice(). If we go through each iteration of the loop, we can see that it's on the first iteration when i==1, that we remove the first element from my_list, doing this leaves an empty list and passing it into random.choice() causes the error. + +The first step in debugging should always be to read the stack trace, if the source of the error is not self-evident, StackOverflow and Google are your next best bet. \ No newline at end of file diff --git a/docs/intermediate/debugging.md b/docs/intermediate/debugging.md deleted file mode 100644 index c6a907ce..00000000 --- a/docs/intermediate/debugging.md +++ /dev/null @@ -1,2 +0,0 @@ -# Debugging in Python - diff --git a/docs/intermediate/dir.md b/docs/intermediate/dir.md deleted file mode 100644 index 7d445aff..00000000 --- a/docs/intermediate/dir.md +++ /dev/null @@ -1 +0,0 @@ -# The dir() function \ No newline at end of file diff --git a/docs/intermediate/intro.md b/docs/intermediate/intro.md index 5f30aea8..9549ad4e 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/intro.md @@ -12,10 +12,10 @@ The concepts in this course include: 4. [**Maps**](./04-maps.md) - Maps or dictionaries are sets of key-value pairs that are crazy flexible. Unlike a list, where the index can only be fixed sequence of integers starting with 0, the keys in a map can be any integer or string in any order. 5. [**Files**](./05-files.md) - In this lesson we will learn how to open a file and read the data into our program with just a few lines. Not only can we read in data, but we can also write out data! So much power in a few lines of code! 6. [**Images**](./06-images.md) - In our CoderDojo AI Racing League we will be learning how to make a car drive autonomously. But first we need to be able to read in images and display them. In this lab we will show you how easy this is! -7. [**Defining Your Own Modules**](./modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. -8. [**dir() function**](./dir.md) - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! -9. [**Regular expressions**](./regex.md) - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. -10. [**Debugging**](./debugging.md) - When we have a hard time understanding what our programs are doing we need to be able to peak in and see the results of small steps of our programs. This lesson will show you how to squash those little "bugs" or errors in our code. (not real bugs, that would be mean!) +7. [**Defining Your Own Modules**](./07-modules.md) - In the Beginning Python class we learned how to create functions. Now we learn how to package them up so they are easy for others to use. +8. [**dir() function**](./08-dir.md) - If you ever want to know what functions you can throw at something we got this secret tool called "dir". It really takes the mystery out of what functions you can use and avoids trying to guess what function names are used. Not that guessing games aren't fun! +9. [**Regular expressions**](./09-regex.md) - You sometimes want a list of all the files in a folder that have a .jpg extension for images. This lesson will show you how we can use a shorthand notation to make it easy to specify what files to include and which ones to skip. +10. [**Debugging**](./10-debugging.md) - When we have a hard time understanding what our programs are doing we need to be able to peak in and see the results of small steps of our programs. This lesson will show you how to squash those little "bugs" or errors in our code. (not real bugs, that would be mean!) diff --git a/mkdocs.yml b/mkdocs.yml index b4cd325a..8cbeaeb4 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,16 +21,17 @@ nav: - Flower: repl/07-flower.md - Recursion: repl/12-recursion.md - Intermediate Python: + - Introduction: intermediate/intro.md - Variables and Scope: intermediate/01-variables-scope.md - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md - Files: intermediate/05-files.md - Images: intermediate/06-images.md - - Regular Expressions: intermediate/regex.md - - Dir: intermediate/dir.md - - Modules: intermediate/modules.md - - Debugging: intermediate/debugging.md + - Modules: intermediate/07-modules.md + - Dir: intermediate/08-dir.md + - Regular Expressions: intermediate/09-regex.md + - Debugging: intermediate/10-debugging.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md - Jupyter: From bd0f00ddc626653ae349bd105bb3bef64306e481 Mon Sep 17 00:00:00 2001 From: ma-solarte <65630227+ma-solarte@users.noreply.github.com> Date: Tue, 11 Aug 2020 15:45:32 -0400 Subject: [PATCH 14/65] Python - Field of flowers An extension of the petal project using random numbers, color indexing and of course the petal function. --- trinket/python_filed_of_flowers.py | 48 ++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 trinket/python_filed_of_flowers.py diff --git a/trinket/python_filed_of_flowers.py b/trinket/python_filed_of_flowers.py new file mode 100644 index 00000000..5b096eb9 --- /dev/null +++ b/trinket/python_filed_of_flowers.py @@ -0,0 +1,48 @@ + +import turtle +import random +dan = turtle.Turtle() +dan.shape('turtle') + + +colorList = ['red', 'orange', 'yellow', 'blue', 'purple', 'pink', 'gold','green','brown', 'gray'] + +# draw first flower +dan.color(colorList[random.randint(0,6)]) +def petal(): + distance = 30 + angle =120 + dan.left(30) + # draw a triangle and fill in the color + dan.begin_fill() + dan.forward(distance) + dan.right(angle) + dan.forward(distance) + dan.right(angle) + dan.forward(distance) + dan.end_fill() + dan.left(angle) +# start off 45 right +dan.right(45) +# repeat the forward/right functions four times +for i in range(4): + petal() + +# draw on the screen 25 nore flowers +for i in range(25): + x = random.randint(-150, 150) + y = random.randint(-150, 150) + dan.color(colorList[random.randint(0,6)]) + dan.penup() + dan.goto(x,y) + dan.pendown() +# draw a new flower + for i in range(4): + petal() + + +dan.penup() +dan.goto(0,0) + + + \ No newline at end of file From 4e1ddba86fde227bd83f76ff8da5814a0849c64c Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Wed, 2 Sep 2020 09:22:37 -0500 Subject: [PATCH 15/65] Create examples.md --- docs/trinket/examples.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/trinket/examples.md diff --git a/docs/trinket/examples.md b/docs/trinket/examples.md new file mode 100644 index 00000000..ac6444f8 --- /dev/null +++ b/docs/trinket/examples.md @@ -0,0 +1,6 @@ +# Trinket Examples + +1. Bullseye Dart Game - https://trinket.io/python/90130df21a +2. Tic Tac Toe Game - https://trinket.io/library/trinkets/3913dfe7af +3. How to Find Prime Numbers? - https://trinket.io/library/trinkets/aa9d51a7b9 +4. Drawing an Elephant - https://trinket.io/library/trinkets/9202036e6a From 2af66262016888e0c1f5bba55c608f3538ea69e4 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sun, 20 Sep 2020 06:51:16 -0500 Subject: [PATCH 16/65] Added line numbers to code highlight --- mkdocs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 8cbeaeb4..5439150c 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -76,4 +76,5 @@ markdown_extensions: plugins: - search markdown_extensions: - - codehilite + - codehilite: + linenums: true From ba1331f3cffa61d49269e6f9ed2283b6bfdccbf2 Mon Sep 17 00:00:00 2001 From: Parker Erickson Date: Sat, 16 Jan 2021 14:36:55 -0600 Subject: [PATCH 17/65] Update 05-conditionals.md --- docs/trinket/05-conditionals.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/trinket/05-conditionals.md b/docs/trinket/05-conditionals.md index 306b4fce..0dbaab9a 100644 --- a/docs/trinket/05-conditionals.md +++ b/docs/trinket/05-conditionals.md @@ -21,9 +21,9 @@ angle = 90 # repeat the forward/right functions four times for i in range(4): - if i % 2: + if i % 2: # This is equivalent to if (i % 2) == 0: (true for odd numbers) dan.color('red') - else: + else: # if i is even dan.color('blue') dan.forward(distance) dan.right(angle) From 72785b497a1f8dd3fe4f7d750b73faec28b3fc77 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 16 Jan 2021 14:48:14 -0600 Subject: [PATCH 18/65] fixed labs and links --- docs/advanced-python/01-intro.md | 7 + docs/advanced-python/02-roll-the-dice.md | 24 + docs/advanced-python/roll-dice.py | 11 + docs/img/coderdojo-logo.jpg | Bin 0 -> 13217 bytes docs/img/porters-five-forces.png | Bin 0 -> 38412 bytes docs/img/python-logo-label.jpeg | Bin 0 -> 6206 bytes docs/img/python-logo-label.png | Bin 0 -> 3486 bytes docs/img/python-logo.jpeg | Bin 0 -> 5805 bytes docs/jupyter/Python_Introduction.ipynb | 258 ++++++++ docs/jupyter/variables-and-strings.ipynb | 557 ++++++++++++++++++ docs/trinket/00-introduction.md | 5 +- docs/trinket/01a-trinket-account.md | 13 + ...tle-graphics.md => 01b-turtle-graphics.md} | 2 +- docs/trinket/04-loops.md | 5 +- docs/trinket/06-functions.md | 3 +- docs/trinket/07-flower.md | 5 +- docs/trinket/08-random.md | 4 +- docs/trinket/11-input.md | 3 +- docs/trinket/12-recursion.md | 5 +- 19 files changed, 890 insertions(+), 12 deletions(-) create mode 100644 docs/advanced-python/01-intro.md create mode 100644 docs/advanced-python/02-roll-the-dice.md create mode 100644 docs/advanced-python/roll-dice.py create mode 100644 docs/img/coderdojo-logo.jpg create mode 100644 docs/img/porters-five-forces.png create mode 100644 docs/img/python-logo-label.jpeg create mode 100644 docs/img/python-logo-label.png create mode 100644 docs/img/python-logo.jpeg create mode 100644 docs/jupyter/Python_Introduction.ipynb create mode 100644 docs/jupyter/variables-and-strings.ipynb create mode 100644 docs/trinket/01a-trinket-account.md rename docs/trinket/{01-turtle-graphics.md => 01b-turtle-graphics.md} (99%) diff --git a/docs/advanced-python/01-intro.md b/docs/advanced-python/01-intro.md new file mode 100644 index 00000000..5bebe7ca --- /dev/null +++ b/docs/advanced-python/01-intro.md @@ -0,0 +1,7 @@ +# Advanced Python +Here are some suggested programs for doing more advanced Python programming. Here we define advanced as anything that is not covered under our Beginning Python class that usually runs between one and three hours. + +## Roll the Dice +This lab uses the random number function to generate dice rolls. It uses a while loop to continue to roll a pair of six-sided dice repeatedly. +[./02-roll-the-dice.md] + diff --git a/docs/advanced-python/02-roll-the-dice.md b/docs/advanced-python/02-roll-the-dice.md new file mode 100644 index 00000000..e3211869 --- /dev/null +++ b/docs/advanced-python/02-roll-the-dice.md @@ -0,0 +1,24 @@ +# Roll the Dice +In this game the program generates two random numbers between 1 and 6. The program then asks the user if they want to roll the dice again. If they answer y or yes then the pair of +dice are rolled again. + +```py +import random +min = 1 +max = 6 + +roll_again = "yes" + +while roll_again == "yes" or roll_again == "y": + print("Rolling the dice. The values are:") + print(random.randint(min, max)) + print(random.randint(min, max)) + roll_again = input("Roll the dices again?") +``` + +```sh +Rolling the dice. The values are: +4 +4 +Roll the dices again? +``` \ No newline at end of file diff --git a/docs/advanced-python/roll-dice.py b/docs/advanced-python/roll-dice.py new file mode 100644 index 00000000..59def009 --- /dev/null +++ b/docs/advanced-python/roll-dice.py @@ -0,0 +1,11 @@ +import random +min = 1 +max = 6 + +roll_again = "yes" + +while roll_again == "yes" or roll_again == "y": + print("Rolling the dice. The values are:") + print(random.randint(min, max)) + print(random.randint(min, max)) + roll_again = input("Roll the dices again?") \ No newline at end of file diff --git a/docs/img/coderdojo-logo.jpg b/docs/img/coderdojo-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99f0ac07539290612863ee52f1c48611e7993bd1 GIT binary patch literal 13217 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 PxAgCD{eR1$-_QIX8k$EG literal 0 HcmV?d00001 diff --git a/docs/img/porters-five-forces.png b/docs/img/porters-five-forces.png new file mode 100644 index 0000000000000000000000000000000000000000..743177d025ee432b609574749e57ddb4a020a241 GIT binary patch literal 38412 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\n", + "Variable needs a name and what you want to store in it
    " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Assign a value**" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "age cole=12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Print Value**" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20\n", + "12\n" + ] + } + ], + "source": [ + "print(age_cole)\n", + "print(AGE_cole)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**NAMING VARIABLES** :
    \n", + "- Choose good names
    \n", + "- Can contain letters,numbers,underscores but they should begin with letters\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**DO's and DON'Ts :**
    \n", + "- Start name with letter
    \n", + "- Any number or letter can be used
    \n", + "- Symbols like -,/,# or @ are not allowed
    \n", + "- Spaces can't be used
    \n", + "- Underscore to be used instead of space
    \n", + "- Uppercase & Lowercase are different
    \n", + "- Avoid words python uses as commands
    \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**TYPES :**
    \n", + "- Whole numbers are Integers
    \n", + "- Decimal points are floats
    \n", + "- Programs usually count things in integers
    \n", + "- Floats are used for measurement
    " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8\n", + "8\n", + "8\n" + ] + } + ], + "source": [ + "a=b=c=8\n", + "print(a)\n", + "print(b)\n", + "print(c)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n" + ] + } + ], + "source": [ + "a,b,c=1,2,3\n", + "print(a)\n", + "print(b)\n", + "print(c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In python we have to initialize variables else we will get NOT DEFINED error" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'z' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mz\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mNameError\u001b[0m: name 'z' is not defined" + ] + } + ], + "source": [ + "print(z)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Python Specialty**
    \n", + "In some languages we have specify what type of data a variable may contain in it's declaration itself
    \n", + "This reserves memory space and is called \"static typing\"
    \n", + "In python no such limitations and it adjusts the memory allocation to suit the data values assigned to the variables
    \n", + "This is called dynamic typing" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Simple Calculation :**" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "42\n" + ] + } + ], + "source": [ + "x=6\n", + "y=x*7\n", + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "42\n" + ] + } + ], + "source": [ + "x=10\n", + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "70\n" + ] + } + ], + "source": [ + "x=10\n", + "y=x*7\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Strings in Python" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Coders use word string for any data made up of a sequence of letters or other characters
    \n", + "Words & sentences are stored as strings
    \n", + "Almost all programs use strings at some point
    " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Strings in Variables :**
    \n", + "Strings can be assigned to variables
    \n", + "They must always have quotation marks ''" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Joela\n" + ] + } + ], + "source": [ + "name=\"Joela\"\n", + "print(name)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I like to code in Python\n" + ] + } + ], + "source": [ + "pratham='I like to code in Python'\n", + "print(pratham)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I like coding.\n", + "I want to learn Python.\n" + ] + } + ], + "source": [ + "pratham='''I like coding.\n", + "I want to learn Python.'''\n", + "print(pratham)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "He said, Aren`t they learning coding in Python\n" + ] + } + ], + "source": [ + "silly_string='He said, Aren`t they learning coding in Python'\n", + "print(silly_string)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "He said, \"Aren't they learning coding in Python\"\n" + ] + } + ], + "source": [ + "silly_string='''He said, \"Aren't they learning coding in Python\"'''\n", + "print(silly_string)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Adding backslash(\\) before each quotation mark in a string to avoid syntax error
    \n", + "This is called Escaping" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "He said, Aren't they learning coding in Python\n", + "He said, \"Aren't they learning coding in Python\"\n" + ] + } + ], + "source": [ + "silly_str1='He said, Aren\\'t they learning coding in Python'\n", + "print(silly_str1)\n", + "silly_str2=\"He said, \\\"Aren't they learning coding in Python\\\"\"\n", + "print(silly_str2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Combining Strings :**
    \n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Welcome to Python Session, Joela\n" + ] + } + ], + "source": [ + "name='Joela'\n", + "greeting='Welcome to Python Session, '\n", + "message=greeting+name\n", + "print(message)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "***Extra Tips***
    \n", + "You can count number of characters in a string by function **len()**" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "32" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(message)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Embedding Values in Strings**" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I scored 95 points\n" + ] + } + ], + "source": [ + "score=95\n", + "msg=\"I scored %s points\"\n", + "print(msg % score)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I scored 95 and 98 points in 2 games\n" + ] + } + ], + "source": [ + "msg=\"I scored %s and %s points in 2 games\"\n", + "print(msg % (95,98))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Multiplying Strings**" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a a a a a a a a a a \n" + ] + } + ], + "source": [ + "print(10*'a ')" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello World!!!\n", + " Hello World!!!\n", + " Hello World!!!\n", + " Hello World!!!\n" + ] + } + ], + "source": [ + "print(\"Hello World!!!\")\n", + "spaces=' '*25\n", + "print('%s Hello World!!!' % spaces)\n", + "spaces=' '*50\n", + "print('%s Hello World!!!' % spaces)\n", + "spaces=' '*75\n", + "print('%s Hello World!!!' % spaces)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index e41cbdd1..e0b437f4 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -4,8 +4,9 @@ These labs assume that you have internet access and a modern web browser such as Chrome. -We use the [Trinket web site](https://trinket.io/) because it has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free -version is limited to the older Python 2.X functionality. If you want to try another web-based system that support turtle graphics and Python 3.X we suggest the web site [repl.it](http://repl.it) +We use the [Trinket web site](https://trinket.io/) because it a kid-save place that has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free version is limited to the older Python 2.X functionality, but this meets all the needs of our beginning python class. + +If you want to try another web-based system that support turtle graphics and Python 3.X we suggest the web site [repl.it](http://repl.it). Note that this site is not specifically designed for kids. ## Beginning Python Journey Map diff --git a/docs/trinket/01a-trinket-account.md b/docs/trinket/01a-trinket-account.md new file mode 100644 index 00000000..5d47f987 --- /dev/null +++ b/docs/trinket/01a-trinket-account.md @@ -0,0 +1,13 @@ +# Setting up a Trinket Account + +These labs assume that you have internet access and a modern web browser such as Chrome. + +We use the [Trinket web site](https://trinket.io/) because it a kid-save place that has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free version is limited to the older Python 2.X functionality, but this meets all the needs of our beginning python class. + +## What can you do on Trinket? + +1. You can save programs +1. You can rename programs +1. You can create folders of programs +1. You can run your program +1. You can make the program fill the screen (fullscreen) \ No newline at end of file diff --git a/docs/trinket/01-turtle-graphics.md b/docs/trinket/01b-turtle-graphics.md similarity index 99% rename from docs/trinket/01-turtle-graphics.md rename to docs/trinket/01b-turtle-graphics.md index 61498279..1b9fc227 100644 --- a/docs/trinket/01-turtle-graphics.md +++ b/docs/trinket/01b-turtle-graphics.md @@ -1,4 +1,4 @@ -# Trinket Account +# Turtle Graphics Before you begin, we would like you to go to the [Trinket web site](https://trinket.io/) and create your own account. This will allow you to save your programs and come back later and continue working on them. diff --git a/docs/trinket/04-loops.md b/docs/trinket/04-loops.md index 6417b82d..60da12f6 100644 --- a/docs/trinket/04-loops.md +++ b/docs/trinket/04-loops.md @@ -21,8 +21,9 @@ for i in range(4): dan.write('done with square') ``` -## Running the Demo -[Run Square With Loop](https://trinket.io/python/6cadd3c046) +## Running the Example on Trinket + +[Run Loop Program on Trinket](https://trinket.io/python/6cadd3c046) ## Experiments Can you make the turtle draw a larger square? Hint: change the distance to be 80. How big can you make the square before the turtle goes off the screen? diff --git a/docs/trinket/06-functions.md b/docs/trinket/06-functions.md index d2747fb0..4332ff38 100644 --- a/docs/trinket/06-functions.md +++ b/docs/trinket/06-functions.md @@ -27,8 +27,9 @@ for i in range(4): dan.write('done with square') ``` +## Run the Example on Trinket -[Function](https://trinket.io/library/trinkets/e3a8279a76) +[Run the Functions Program on Trinket](https://trinket.io/library/trinkets/e3a8279a76) diff --git a/docs/trinket/07-flower.md b/docs/trinket/07-flower.md index caf3d01f..1dee9991 100644 --- a/docs/trinket/07-flower.md +++ b/docs/trinket/07-flower.md @@ -48,8 +48,9 @@ dan.write('done with flower') ## Drawing ![](../img/flower.png) -## Run the Example -[Function](https://trinket.io/python/0de967d3e2) +## Run the Example on Trinket + +[Run the Flower Example on Trinket](https://trinket.io/python/0de967d3e2) ## Experiments diff --git a/docs/trinket/08-random.md b/docs/trinket/08-random.md index f14134fe..d26e416a 100644 --- a/docs/trinket/08-random.md +++ b/docs/trinket/08-random.md @@ -33,7 +33,9 @@ dan.goto(0,0) ## Drawing ![](../img/random-circle.png) -[Draw 10 circles example on Trinket](https://trinket.io/python/00e2353a96) +## Run the Example on Trinket + +[Run the Random Example on Trinket](https://trinket.io/python/00e2353a96) diff --git a/docs/trinket/11-input.md b/docs/trinket/11-input.md index 7a23afb5..b02b075b 100644 --- a/docs/trinket/11-input.md +++ b/docs/trinket/11-input.md @@ -24,4 +24,5 @@ dan.write('done!') ``` # Example on Trinket -[Run Example](https://trinket.io/python/a4a951eeab) \ No newline at end of file + +[Run the Input Example on Trinket](https://trinket.io/python/a4a951eeab) \ No newline at end of file diff --git a/docs/trinket/12-recursion.md b/docs/trinket/12-recursion.md index fc6864df..6609df54 100644 --- a/docs/trinket/12-recursion.md +++ b/docs/trinket/12-recursion.md @@ -41,8 +41,9 @@ draw_branch(myTurtle, colorList[0], length, 4) ## Drawing ![](../img/fractle-tree.png) -## Link to Program on Trinket -[Link to Program on Trinket](https://trinket.io/python/0406ae2ac0) +## Run Sample Program on Trinket + +[Run Recursion Program on Trinket](https://trinket.io/python/0406ae2ac0) ## Explanation The first three lines will be the same for all our programs. They import the turtle library into our program, create a new turtle object and then assign the turtle a shape icon. From 0ba331b1625b6aef308abd03c1011f3aada71dbb Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 16 Jan 2021 15:04:26 -0600 Subject: [PATCH 19/65] updates to markdown content --- docs/trinket/07-flower.md | 2 +- mkdocs.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/trinket/07-flower.md b/docs/trinket/07-flower.md index 1dee9991..f1766041 100644 --- a/docs/trinket/07-flower.md +++ b/docs/trinket/07-flower.md @@ -57,4 +57,4 @@ dan.write('done with flower') 1. Can you change the colors of the petals? 2. Can you change the width of the stem of the flower using the pensize() function? 3. Can you change the size of the petals? -4. Can you change the number of petals? \ No newline at end of file +4. Can you change the number of petals? Why is this problem harder? What assumptions did the original author of the program make? \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 5439150c..92365008 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,8 @@ nav: - CoderDojo TC: https://coderdojotc.github.io/CoderDojoTC/ - Beginning Python - Trinket: - Introduction: trinket/00-introduction.md - - Trinket Account: trinket/01-turtle-graphics.md + - Trinket Account: trinket/01a-trinket-account.md + - Turtle Graphics: trinket/01b-turtle-graphics.md - Turtle Square: trinket/02-simple-square.md - Variables: trinket/03-variables.md - Loops: trinket/04-loops.md From dbe80b74ee68a8a2a3365b683e2bb501f4376a67 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 16 Jan 2021 15:07:17 -0600 Subject: [PATCH 20/65] updates to markdown content --- docs/trinket/00-introduction.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index e0b437f4..4bc41c4d 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -15,7 +15,8 @@ If you want to try another web-based system that support turtle graphics and Pyt ## List of Trinket Python Learning Labs For students that are new to programming, here are some sample programs (what we call learning labs) that you can try. You can learn by reading the sample programs, going to the Trinkit.io site and changing some values in the code. Each of the labs has experiments at the end you can do to extend to see if you have mastered the concepts before you go on to the next lab. -1. [Turtle graphics](./01-turtle-graphics.md) - introduction to the Turtle Graphs library with a list of drawing functions +1. [Trinket Account](./01a-trinket-account.md) - introduction to the Turtle Graphs library with a list of drawing functions +1. [Turtle graphics](./01a-turtle-graphics.md) - introduction to the Turtle Graphs library with a list of drawing functions 2. [Simple square](./02-simple-square.md) - draw a square by moving and turning right four times 4. [Variables](./03-variables.md) - add variables for the move edge distance and angle 5. [Loops](./04-loops.md) - add a loop to make our code smaller From 4cb27e28700ec8829661ae25c91435b28a1b74d2 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 16 Jan 2021 15:08:52 -0600 Subject: [PATCH 21/65] updates to markdown content --- docs/trinket/01b-turtle-graphics.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/trinket/01b-turtle-graphics.md b/docs/trinket/01b-turtle-graphics.md index 1b9fc227..eacd8596 100644 --- a/docs/trinket/01b-turtle-graphics.md +++ b/docs/trinket/01b-turtle-graphics.md @@ -1,13 +1,5 @@ # Turtle Graphics -Before you begin, we would like you to go to the [Trinket web site](https://trinket.io/) and create your own account. This will allow you to save your programs and come back later and continue working on them. - -Here is the link to the Trinket web site: - - [https://trinket.io/](https://trinket.io/) - -Be sure to bookmark this site for future reference. - ## What is the turtle graphics library? Turtle graphs have been around for almost [50 years](https://en.wikipedia.org/wiki/Turtle_graphics). A turtle is a drawing object that has position, direction, and a pen to draw as it moves around a grid. Turtle graphics are the preferred way to teach many concepts in computer science because they give you fast feedback. Fast feedback allows you to quickly see the errors in your code and correct them. From 15d1b44376d526c2b67f39c73d4290a0f2caa29d Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Tue, 2 Feb 2021 17:33:11 -0600 Subject: [PATCH 22/65] Update 00-introduction.md --- docs/trinket/00-introduction.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index 4bc41c4d..9f439aff 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -4,13 +4,14 @@ These labs assume that you have internet access and a modern web browser such as Chrome. -We use the [Trinket web site](https://trinket.io/) because it a kid-save place that has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free version is limited to the older Python 2.X functionality, but this meets all the needs of our beginning python class. +We use the [Trinket web site](https://trinket.io/) because it a kid-safe place that has many of the basic turtle drawing libraries implemented in and easy-to-use web environment. It is appropriate for students just getting started with python programming but has limited libraries for our advanced data analysis and plotting labs. The free version is limited to the older Python 2.X functionality, but this meets all the needs of our beginning python class. -If you want to try another web-based system that support turtle graphics and Python 3.X we suggest the web site [repl.it](http://repl.it). Note that this site is not specifically designed for kids. +If you want to try another web-based system that support turtle graphics and Python 3.X we suggest the web site [repl.it](http://repl.it). Note that repl.it is not specifically designed for kids. ## Beginning Python Journey Map ![Beginning Python Journey Map](./beginning-python-journey-map.png) +The map above is a visual guide to our Introduction to Python course. Students start their journey in the upper left corner at the green start circle. They then journey through each of the lessons until they reach the finish line. Many of our courses give badges and laptop stickers for students that complete the journey from the start to the finish. ## List of Trinket Python Learning Labs For students that are new to programming, here are some sample programs (what we call learning labs) that you can try. You can learn by reading the sample programs, going to the Trinkit.io site and changing some values in the code. Each of the labs has experiments at the end you can do to extend to see if you have mastered the concepts before you go on to the next lab. @@ -23,11 +24,9 @@ For students that are new to programming, here are some sample programs (what we 6. [Conditionals](./05-conditionals.md) - add an if statement to change the color 7. [Functions](./06-functions.md) - create a shape function 8. [Function parameters](./07-function-parameters.md) - add parameters to our function -9. [Random](./08-random.md) - generate random numbers +9. [Random](./08-random.md) - generate random numbers that are used do drive the turtle 9. [Lists](./08-list.md) - store a list of colors 10. [Inputs](./11-input.md) - get some input from the user -11. [Recursion](./12-recursion.md) - create a function that calls itself +11. [Recursion](./12-recursion.md) - create a function that calls itself to draw a tree -## Additional Labs -In addition to our core labs, here are a few other labs that your students might find fun: From b49ddea6d7eb3bbac8d3b29d8f55cb9dce57223f Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 13 Feb 2021 14:04:10 -0600 Subject: [PATCH 23/65] Added shape function to REPL labs --- docs/repl/08-shape-function.md | 25 +++++++++++++++++++++++++ docs/trinket/01a-trinket-account.md | 5 +++-- mkdocs.yml | 3 ++- 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 docs/repl/08-shape-function.md diff --git a/docs/repl/08-shape-function.md b/docs/repl/08-shape-function.md new file mode 100644 index 00000000..a25a6bf1 --- /dev/null +++ b/docs/repl/08-shape-function.md @@ -0,0 +1,25 @@ +# Repl Shape Function + +```py +import turtle +t = turtle.Turtle() +colorList = ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] + + +def shape(color, x, y, dist, edges): + t.penup() + t.goto(x,y) + t.pendown() + t.color(color) + t.begin_fill() + angle = 360 / edges + for i in range(edges): + t.fd(dist) + t.rt(angle) + t.end_fill() + + +shape('red', -100, 100, 50, 4) +shape('green', 50, 50, 50, 6) +shape('blue', 50, -50, 40, 8) +``` diff --git a/docs/trinket/01a-trinket-account.md b/docs/trinket/01a-trinket-account.md index 5d47f987..4413a02c 100644 --- a/docs/trinket/01a-trinket-account.md +++ b/docs/trinket/01a-trinket-account.md @@ -1,4 +1,4 @@ -# Setting up a Trinket Account +# Getting Starts With Trinket These labs assume that you have internet access and a modern web browser such as Chrome. @@ -10,4 +10,5 @@ We use the [Trinket web site](https://trinket.io/) because it a kid-save place t 1. You can rename programs 1. You can create folders of programs 1. You can run your program -1. You can make the program fill the screen (fullscreen) \ No newline at end of file +1. You can make the program fill the screen (fullscreen) +1. Download your Python code \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 92365008..fd02783b 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ nav: - CoderDojo TC: https://coderdojotc.github.io/CoderDojoTC/ - Beginning Python - Trinket: - Introduction: trinket/00-introduction.md - - Trinket Account: trinket/01a-trinket-account.md + - Using Trinket: trinket/01a-trinket-account.md - Turtle Graphics: trinket/01b-turtle-graphics.md - Turtle Square: trinket/02-simple-square.md - Variables: trinket/03-variables.md @@ -20,6 +20,7 @@ nav: - Beginning Python - Repl.it: - Square: repl/02-square.md - Flower: repl/07-flower.md + - Shape Function: repl/08-shape-function.md - Recursion: repl/12-recursion.md - Intermediate Python: - Introduction: intermediate/intro.md From e25f5fbf9d51780d9566424a463742844febd1e3 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Mon, 15 Feb 2021 12:54:35 -0600 Subject: [PATCH 24/65] updates to markdown content --- docs/intermediate/02-data-types.md | 12 ++++++--- docs/trinket/01b-turtle-graphics.md | 2 +- docs/trinket/04a-stop-sign.md | 42 +++++++++++++++++++++++++++++ mkdocs.yml | 3 +++ 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 docs/trinket/04a-stop-sign.md diff --git a/docs/intermediate/02-data-types.md b/docs/intermediate/02-data-types.md index 2851beac..33350235 100644 --- a/docs/intermediate/02-data-types.md +++ b/docs/intermediate/02-data-types.md @@ -71,16 +71,20 @@ As you can see from the code above, when we assign the result of the _no_return( A dictionary is demarcated by curly braces around key:value pairs that are separated by commas. Keys and values do not need to be the same data types. - ```python - my_dict = {"dictionary" : "a book or electronic resource that lists the words of a language", "int" : "short for integer. A whole number; a number that is not a fraction", "float" : "for our purposes this means a decimal number— a number that consists of a whole number and a fractional part", "bool" : "short for boolean; a binary, True or False value"} - ``` +```py +myDictionary = { + "dictionary" : "a book or electronic resource that lists the words of a language", + "int" : "short for integer. A whole number; a number that is not a fraction","float" : "for our purposes this means a decimal number— a number that consists of a whole number and a fractional part", + "bool" : "short for boolean; a binary, True or False value" + } +``` We'll learn more about dictionaries in the [maps section](04-maps.md) #### Type Casting Strings consisting of digits can easily be converted to floats or integers -```python +```py #ask the user to input a number number=input("Type a number here and press 'enter' to proceed>>>") diff --git a/docs/trinket/01b-turtle-graphics.md b/docs/trinket/01b-turtle-graphics.md index eacd8596..5a74a925 100644 --- a/docs/trinket/01b-turtle-graphics.md +++ b/docs/trinket/01b-turtle-graphics.md @@ -34,7 +34,7 @@ There are five ways to move your turtle around the screen. Our screen is around ## Drawing There are several ways to draw virtual "ink" on the screen. The most common way is to just move your turtle around. It will draw a thin black line by default, but you can also change the pen color and the width of drawing. -- t.penup() - no drawing will happen when the pen is up +- [t.penup()](https://docs.python.org/3/library/turtle.html#pen-control) - no drawing will happen when the pen is up - t.pendown() - drawing will occur on the screen when the turtle moves - t.color('red') - set the pen to a specific color - t.pensize(5) - set the width of the pen from 1 to 20. 5 is a good size. diff --git a/docs/trinket/04a-stop-sign.md b/docs/trinket/04a-stop-sign.md new file mode 100644 index 00000000..ae2f13d8 --- /dev/null +++ b/docs/trinket/04a-stop-sign.md @@ -0,0 +1,42 @@ +# Python Turtle Graphics Stop Sign + +In this lesson, we will use variables and for loop to draw a stop sign. +We will also show how to use the penup, pendown, color, begin_fill, end_fill and write functions. +Our write function will also change the font size using the ```font=("Arial", 30, "normal")``` parameter. + +## Sample Code + +```python +import turtle +dan = turtle.Turtle() +dan.shape('turtle') + +distance = 50 +sides = 8 +# The angle we turn is related to the number of sides by this formula +angle = 360 / sides +my_color = "red" + +dan.penup() +dan.goto(-50, 100) +dan.pendown() +dan.color(my_color) +dan.begin_fill() +# repeat the forward/right functions for each side +for i in range(sides): + dan.forward(distance) + dan.right(angle) + +dan.end_fill() +dan.hideturtle() + +dan.penup() +dan.right(110) +dan.forward(80) +dan.color('white') +dan.write('STOP', font=("Arial", 30, "normal")) +``` + +## Link to Trinket + +[Draw a Stop Sign on Trinket](https://trinket.io/python/7f9eee8b80) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index fd02783b..77cb3ba3 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,7 @@ nav: - Turtle Square: trinket/02-simple-square.md - Variables: trinket/03-variables.md - Loops: trinket/04-loops.md + - Stop Sign: trinket/04a-stop-sign.md - Conditional: trinket/05-conditionals.md - Functions: trinket/06-functions.md - Flower: trinket/07-flower.md @@ -57,6 +58,8 @@ site_description: 'Resources for teaching Python to CoderDojo Twin Cities studen site_author: 'Dan McCreary' repo_name: 'python' repo_url: 'https://github.com/CoderDojoTC/python' + +# CoderDojo Standards from here down edit_uri: 'blob/master/docs' theme: name: material From 922d8f5ca1fab8b4ae0d8966ce5028acc141f08a Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Mon, 15 Feb 2021 12:55:07 -0600 Subject: [PATCH 25/65] updates to markdown content --- .vscode/settings.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..e9540ffb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "cSpell.words": [ + "Trinkit", + "coderdojo", + "jupyter", + "randint" + ] +} \ No newline at end of file From 2b1df7e5f3ce8de4ff1d1e5fa360f309fd48df3d Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 27 Feb 2021 13:05:20 -0600 Subject: [PATCH 26/65] updates to markdown content --- mkdocs.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 77cb3ba3..af58f674 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -76,10 +76,8 @@ markdown_extensions: - footnotes - toc: permalink: true - - codehilite: - linenums: true plugins: - search markdown_extensions: - - codehilite: - linenums: true + - pymdownx.highlight + - pymdownx.superfences From ffd698560531dadef4833520eea18aefbd301077 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 27 Feb 2021 13:16:07 -0600 Subject: [PATCH 27/65] updates to markdown content --- docs/trinket/05-conditionals.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/trinket/05-conditionals.md b/docs/trinket/05-conditionals.md index 0dbaab9a..1e132a49 100644 --- a/docs/trinket/05-conditionals.md +++ b/docs/trinket/05-conditionals.md @@ -3,6 +3,17 @@ In this example program we will make the turtle draw different sides of the square using different colors. +There are two things we do with equations in Python. The first is to use the equal sign to **assign values** on the left side of the equal sign to the values on the right side. The second thing we do is to **compare** values to the left and right of an operator. The result of a comparison is always TRUE or FALSE. + +Here is the basic syntax of the Python conditional operator. + +```py +if (i > 3): + # do something if i is greater than 3 + else: + # do something else when i is exactly 3 or less than 3 +``` + We would like every other side to change color. To do this we will add an if-then-else block of code to our example program. This block of code is called a conditional block. The condition is an expression that evaluates to be either TRUE for FALSE. In our example we will test to see if the index of our loop (the letter "i") is ODD or EVEN. We can do this by looking at the remainder after we divide by 2. Python has a handy operator called the modulo operator that uses the percent character which is above the number five on your keyboard. The test for ODD or EVEN is this: ```py From 969c6d2747ca90ae995c09cdf2ebe3ccbb32be38 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 27 Feb 2021 13:25:46 -0600 Subject: [PATCH 28/65] Added conditional --- docs/trinket/05-conditionals.md | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/docs/trinket/05-conditionals.md b/docs/trinket/05-conditionals.md index 1e132a49..702c3ea3 100644 --- a/docs/trinket/05-conditionals.md +++ b/docs/trinket/05-conditionals.md @@ -8,12 +8,39 @@ There are two things we do with equations in Python. The first is to use the eq Here is the basic syntax of the Python conditional operator. ```py -if (i > 3): - # do something if i is greater than 3 +if (i > 2): + # do something if i is greater than 2 else: - # do something else when i is exactly 3 or less than 3 + # do something else when i is exactly 2 or less than 2 ``` +## Simple Conditionals +Here is a program that + +```py +import turtle +dan = turtle.Turtle() +dan.shape('turtle') + +distance = 100 +angle = 90 + +for i in range(1, 5): + # i modulo 2 is the remainer after we divide by 2 + dan.write(i, font=("arial", 16, "normal")) + if i > 2: # true if i greater than 2 + dan.color('red') + dan.pensize(5) + else: # if i is exactly 2 or less than 2 + dan.color('blue') + dan.pensize(3) + dan.forward(distance) + dan.right(angle) +``` + +[Link to Trinket with Simple Conditional](https://trinket.io/python/db5978a312) + +## Changing Odd and Even Edge Colors We would like every other side to change color. To do this we will add an if-then-else block of code to our example program. This block of code is called a conditional block. The condition is an expression that evaluates to be either TRUE for FALSE. In our example we will test to see if the index of our loop (the letter "i") is ODD or EVEN. We can do this by looking at the remainder after we divide by 2. Python has a handy operator called the modulo operator that uses the percent character which is above the number five on your keyboard. The test for ODD or EVEN is this: ```py From 2384c9670abe2ca06b8063a4d9df189c0f4bb501 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 27 Feb 2021 15:07:56 -0600 Subject: [PATCH 29/65] updates to markdown content --- docs/trinket/07-function-parameters.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/trinket/07-function-parameters.md b/docs/trinket/07-function-parameters.md index cf1eb8f5..0f912fc3 100644 --- a/docs/trinket/07-function-parameters.md +++ b/docs/trinket/07-function-parameters.md @@ -1,5 +1,6 @@ -## Function= Parameters +# Function Parameters +## Lesson Objective Now we will create a new function that draw a square with a specific color at a specific x and y point. The function will take three inputs: - the color - the horizontal x position on the grid @@ -32,9 +33,12 @@ square('blue', 70, -50) ## Drawing ![](../img/four-squares.png) -[Function](https://trinket.io/library/trinkets/83e78b10f5) +[Link to Function in Trinket](https://trinket.io/library/trinkets/83e78b10f5) ## Experiments -Can you change the name of the function to be "petal"? \ No newline at end of file + +1. Can you change the name of the function to be "petal"? +2. Can you change the function to include the ability to pass in one color for the border, and one color for the center fill? +[Sample of Border Square Program](https://trinket.io/python/3377b0fbd8) \ No newline at end of file From 08fd676f36fd9758c948f367e2f8a691c402a83b Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Mon, 15 Mar 2021 14:53:17 -0500 Subject: [PATCH 30/65] updates to markdown content --- docs/trinket/08-list.md | 10 ++++++++-- docs/trinket/08-random.md | 3 ++- docs/trinket/11-input.md | 11 ++++++++--- mkdocs.yml | 6 +++--- theme/partials/footer.html | 2 +- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/trinket/08-list.md b/docs/trinket/08-list.md index 3380a2e0..8458978e 100644 --- a/docs/trinket/08-list.md +++ b/docs/trinket/08-list.md @@ -20,7 +20,8 @@ import random dan = turtle.Turtle() dan.shape('turtle') -colorList = ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] +colorList = ['red', 'orange', 'yellow', 'green', 'blue', + 'purple', 'pink', 'brown', 'gray', 'gold'] dan.begin_fill() dan.color(colorList[3]) @@ -35,4 +36,9 @@ dan.end_fill() [Draw a Green Circle Using List](https://trinket.io/python/6b93c1711f) ## Experiments -Can you change the name of the function to be "petal"? \ No newline at end of file + +1. Can you change the name of the function to be "petal"? +1. What does ```print(len(colorList))``` return? +1. Go to the [Trinket colors page](https://trinket.io/docs/colors) and see the name of other colors you can use. +1. What happens if a list does not fit on a single line? Can a list span multiple lines? +1. Can you use double quotes and single quotes in the same list? \ No newline at end of file diff --git a/docs/trinket/08-random.md b/docs/trinket/08-random.md index d26e416a..1a371d0b 100644 --- a/docs/trinket/08-random.md +++ b/docs/trinket/08-random.md @@ -42,4 +42,5 @@ dan.goto(0,0) ## Experiments 1. Can you create a variable that is used to control the distance from the origin to wander? Right now the distance is set to be 200 on each extent. 2. Can you create a variable for the number of circles to draw? -3. Go to the [Trinket colors page](https://trinket.io/docs/colors) and see the name of other colors you can use. Note that you can use \ No newline at end of file +3. Go to the [Trinket colors page](https://trinket.io/docs/colors) and see the name of other colors you can use. Note that you can use any of these colors in your lists. +4. Right now, all the circles are 7 pixels in size. Can you make the circles have a random size from 3 to 20? \ No newline at end of file diff --git a/docs/trinket/11-input.md b/docs/trinket/11-input.md index b02b075b..d1e7fd27 100644 --- a/docs/trinket/11-input.md +++ b/docs/trinket/11-input.md @@ -1,4 +1,4 @@ -## Input +# Getting Inputs from the User We can prompt the user to supply a number using the input() function. @@ -23,6 +23,11 @@ while colorIndexInt > -1: dan.write('done!') ``` -# Example on Trinket +## Example on Trinket -[Run the Input Example on Trinket](https://trinket.io/python/a4a951eeab) \ No newline at end of file +[Run the Input Example on Trinket](https://trinket.io/python/a4a951eeab) + +## Experiments + +1. Write a program that will prompt the user to enter the number of shapes to draw, the size of the shapes, the color of the shapes and the range of the screen to draw them (50 to 200). +2. Add some additional code to check the range of your expected values. If the input is out of range, then continue to prompt the user to enter the correct number until they get a valid number. Use a ```while``` statement to continue prompting. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index af58f674..04f1e068 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -74,10 +74,10 @@ theme: markdown_extensions: - admonition - footnotes + - pymdownx.highlight + - pymdownx.superfences - toc: permalink: true plugins: - search -markdown_extensions: - - pymdownx.highlight - - pymdownx.superfences + diff --git a/theme/partials/footer.html b/theme/partials/footer.html index 01205051..55c25d13 100755 --- a/theme/partials/footer.html +++ b/theme/partials/footer.html @@ -47,7 +47,7 @@ {{ config.copyright }} {% endif %} - built with the
    Micro-Site Builder + All content is covered under the Creative Commons Attribution-NonCommercial-ShareAlike. {% include "partials/social.html" %} From 5737efd1b7400531f4fbc3842e0cfb7c98a98d46 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 24 Apr 2021 13:02:57 -0500 Subject: [PATCH 31/65] updates to markdown content --- docs/img/plot-sin.png | Bin 0 -> 38934 bytes docs/img/python_environment.png | Bin 0 -> 54078 bytes docs/img/turtle-sine-wave.png | Bin 0 -> 25878 bytes docs/intermediate/06-object-classes.md | 63 ++++++++++++++++ docs/intermediate/08-dir.md | 16 +++-- docs/intermediate/11-advanced-trinket-libs.md | 16 +++++ docs/intermediate/12-plot-sin.md | 68 ++++++++++++++++++ .../20-installing-local-python.md | 63 ++++++++++++++++ .../intermediate/{05-files.md => 21-files.md} | 3 + .../{06-images.md => 22-images.md} | 0 docs/trinket/15-sine-wave.md | 36 ++++++++++ mkdocs.yml | 8 ++- 12 files changed, 264 insertions(+), 9 deletions(-) create mode 100644 docs/img/plot-sin.png create mode 100644 docs/img/python_environment.png create mode 100644 docs/img/turtle-sine-wave.png create mode 100644 docs/intermediate/06-object-classes.md create mode 100644 docs/intermediate/11-advanced-trinket-libs.md create mode 100644 docs/intermediate/12-plot-sin.md create mode 100644 docs/intermediate/20-installing-local-python.md rename docs/intermediate/{05-files.md => 21-files.md} (99%) rename docs/intermediate/{06-images.md => 22-images.md} (100%) create mode 100644 docs/trinket/15-sine-wave.md diff --git a/docs/img/plot-sin.png b/docs/img/plot-sin.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a5d07968c84e2321dbc778f1b5d4a93bdb97 GIT binary patch literal 38934 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 z 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 XDk{W3)Cn_U00000NkvXXu0mjf*An8_ literal 0 HcmV?d00001 diff --git a/docs/img/turtle-sine-wave.png b/docs/img/turtle-sine-wave.png new file mode 100644 index 0000000000000000000000000000000000000000..a49a1c82dc69fe05a7480bdb624a64b9ee5e8217 GIT binary patch literal 25878 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 literal 0 HcmV?d00001 diff --git a/docs/intermediate/06-object-classes.md b/docs/intermediate/06-object-classes.md new file mode 100644 index 00000000..c7cebe2b --- /dev/null +++ b/docs/intermediate/06-object-classes.md @@ -0,0 +1,63 @@ +# Object Classes in Python + +In the mid 1960s the term Object-Oriented Programming” (OOP) was coined by Alan Kay, one of the pioneers in computer science. Alan's idea was to group data structures and the functions that manipulate that data together in a unit called an object class. Although many Python programmers can be productive just writing simple functions, because there are many Python libraries that use objects, we think you should be familiar with these terms, even if you decide you don't want to deal with the complexities of building your own Python object classes. + +Python also has features that allow you dynamically probe the structure of object classes, even if you can't find the original source code used to create the object classes. If you can't recall how to do something with an object class these tools can provide you a quick reminder. + +## The dir() function + +```py +my_list=[1,2,3,4] + +dir(my_list) +``` + +returns: +```py +['__add__', + '__class__', + '__contains__', + '__delattr__', + '__delitem__', + '__dir__', + '__doc__', + '__eq__', + '__format__', + '__ge__', + '__getattribute__', + '__getitem__', + '__gt__', + '__hash__', + '__iadd__', + '__imul__', + '__init__', + '__init_subclass__', + '__iter__', + '__le__', + '__len__', + '__lt__', + '__mul__', + '__ne__', + '__new__', + '__reduce__', + '__reduce_ex__', + '__repr__', + '__reversed__', + '__rmul__', + '__setattr__', + '__setitem__', + '__sizeof__', + '__str__', + '__subclasshook__', + 'append', + 'clear', + 'copy', + 'count', + 'extend', + 'index', + 'insert', + 'pop', + 'remove', + 'reverse', + 'sort'] +``` \ No newline at end of file diff --git a/docs/intermediate/08-dir.md b/docs/intermediate/08-dir.md index 66f6186e..7faa1ff2 100644 --- a/docs/intermediate/08-dir.md +++ b/docs/intermediate/08-dir.md @@ -1,8 +1,10 @@ -# The dir() function +# Python Objects and the dir() function -As you know some date types and objects have their own methods. For example, a dictionary object has the ```.items()``` method. So how do you know what methods are available to you? That's where the dir function comes in! Just pass whatever data or object you want to know about as an argument. +In Python we have the ability to associate a group of functions with any object class. These functions when grouped together with an object are called *methods*. You can think of them *accessor methods* go get access to the data or behavior of an object class. -```python3 +For example, a dictionary object has the ```.items()``` method. So how do you know what methods are available to you? That's where the dir function comes in! Just pass whatever data or object you want to know about as an argument. + +```py my_list=[1,2,3,4] @@ -77,11 +79,11 @@ The pop() method will remove and return the last element from the list, that is my_list=[1,2,3,4,5,6] -print(my_list[0]) #prints 1 +print(my_list[0]) # prints 1 -print(my_list[5]) #prints 6 +print(my_list[5]) # prints 6 -print(my_list.pop(2)) #prints 3 +print(my_list.pop(2)) # removes and prints 3 -print(my_list) #prints [1,2,4,5,6] +print(my_list) # prints [1,2,4,5,6] ``` \ No newline at end of file diff --git a/docs/intermediate/11-advanced-trinket-libs.md b/docs/intermediate/11-advanced-trinket-libs.md new file mode 100644 index 00000000..0bda92ed --- /dev/null +++ b/docs/intermediate/11-advanced-trinket-libs.md @@ -0,0 +1,16 @@ +# Advanced Trinket Libs + +```py +import sys +import math +import matplotlib +import numpy +import processing +import pygal +import random +import re +import string +import time +import turtle +import urllib +``` \ No newline at end of file diff --git a/docs/intermediate/12-plot-sin.md b/docs/intermediate/12-plot-sin.md new file mode 100644 index 00000000..4046b6b5 --- /dev/null +++ b/docs/intermediate/12-plot-sin.md @@ -0,0 +1,68 @@ +# Using Trinket to Learn MatPlotLib +Python is notable for having a rich library of tools for viewing data. In this lesson we will use +Trinket to learn how to use the popular matplotlib - a Python library for plotting data. + +This example uses the trigonometry function Sine. Don't worry if you have not taken a trigonometry yet. It is just a simple function that generates a wave of vertical height that range between -1 and 1 as we move down the X axis. Imagine a circle rotating and the sin() function will reflect the angle of a point on the edge of the circle going up and down and the circle turns. + +See the [Wikipedia Article on Sine](https://en.wikipedia.org/wiki/Sine) for a description of the function. + +## How Matploglib works +In order to get a plot of any function on the screen we need to first generate a list of points. Each point has an x and y coordinate and the point (0,0) is usually on the middle left corner of the screen. + +Trinket has a plotting area of about 200 by 200 pixels. So we will generate 200 points and plot them to get our chart. + +One of the best ways to get started is to create two lists: one of x coordinates and one of y coordinates like this: + +```py +x_list = [] +y_list = [] +``` + +We then need to create a loop that has the x range change uniformly from 0 to 200 and then for each of these x values we will generate a y value and put them into the list. We will use the list.append() function to add these numbers in pairs to both the X and Y lists like this: + +```py +for p in range(0,200): # we will use 200 points + x_list.append(p/10) + y_list.append(math.sin(p/10)) +``` + +In this case "p" is just a temporary counter for each point we are going to add. We are also going to divide both the X and Y values by 10 so that we get the values from 0 to 20 (not 0 to 200). That way we can see how the sin() function varies in this range. + +Once we have our x and y points in two lists we are ready to plot. + +Here is how we use the matplot library: + +``` +import matplotlib.pyplot as plt +... +plt.plot(x_list,y_list) +plt.show() +``` +Each time we change the list values we need to run the plt.show() function to do the drawing. + +## Full Example +Here is a full working example. Note that we need to import the math library to use the sin() function. + +``` +import matplotlib.pyplot as plt +import math + +x_list = [] +y_list = [] +for p in range(0,200): # we will use 200 points + x_list.append(p/10) + y_list.append(math.sin(p/10)) + +plt.title('Using matploglib.pyplot to show the sin(x) function from x=0 to 20') +plt.xlabel('x') +plt.ylabel('sin(x)') +plt.plot(x_list,y_list) +plt.show() +``` + +![Plot Sin](../img/plot-sin.png) + +## Getting Fancy +We can also put a grid axis and color on the plot: + +plot.grid(True, which='both') diff --git a/docs/intermediate/20-installing-local-python.md b/docs/intermediate/20-installing-local-python.md new file mode 100644 index 00000000..a85672cf --- /dev/null +++ b/docs/intermediate/20-installing-local-python.md @@ -0,0 +1,63 @@ +# Installing a Local Desktop Python + +The next few labs are labs that must be run on your local computer because the will interact with the local operating system and local file system. You will not be able to use Trinket to run these programs. + +The main site for Python is here: + + [https://www.python.org/](https://www.python.org/) + +If you go to that site there will be pages for Downloads and Documentation for each version of your desktop or PC. + +The best way to get detailed instructions or hints is to do a web search for a phrase such as: + +1. *"How do I install Python on my Windows 10 PC"* +2. *"How do I install Python on my Mac"* +2. *"How do I install Python on my Raspberry Pi"* + +You can also give a precise version of Python and your operating system such as: + +*"How to install Python 3 on MacOS Mojhave"* + +These tools usually give you command line access to Python using "Terminal" or "Shell". To use Python you will need to open a command line and type "python --version" to verify that Python is installed correctly. + +Here is an example of what this looks like from a command line: + +```sh +$ python --version +Python 2.7.16 +``` + +This indicates that python + +## You System Path +The system path is a key list that holds a set of sequential places that Python looks for functions. +```sys.path``` is a list of places to look for code and it will execute the first function that it matches in this path. + +```py +import sys +# The system path is a key list that holds a set of sequential places that Python +# looks for functions. +# sys.path returns a list of places to look for code and it will execute the +# first function that it matches +myPath = sys.path +for step in range(0, len(myPath)): + print(step+1, myPath[step]) +``` + + +## Installing Python in an Integrated Development Environment (IDE) + +## Dealing with Python Environments +If you are new to Python and you run into problems getting Python running on your desktop, you are not alone! This challenges was well captured by cartoon, XKCD: + +![Python XKCD](../img/python_environment.png) + +The root cause of this complexity is that there the Python community is a large sprawling mass of free-thinking developers that don't always play nicely together. They are always improving their own libraries and releasing new versions. They often depend on old libraries that conflict with the newer libraries on your local system. They use Python for many different things on different operating systems and to solve different types of problems. Some of them care deeply about compatibility with past version of Python and some of them need the latest version to be productive. + +Here are a few simple rules: + +1. Always be aware of the version of Python you are using. Use the ```python --version``` tool to see this. +2. Use different "environments" for different projects tasks that may need different version of different libraries. Be familiar with tools like ```conda``` to manage these environments. If you do use conda, make sure to activate these environments before you start. +3. Know how to see where Python is looking for it's libraries and know how to use the ```sys.path``` function +4. Use tools such as ```pyenv``` to control what Python environment you are using. +5. Beware of using the default Python environments. They are often out of date. \ No newline at end of file diff --git a/docs/intermediate/05-files.md b/docs/intermediate/21-files.md similarity index 99% rename from docs/intermediate/05-files.md rename to docs/intermediate/21-files.md index 521e4397..921f5eab 100644 --- a/docs/intermediate/05-files.md +++ b/docs/intermediate/21-files.md @@ -1,4 +1,7 @@ # Reading and Writing Files in Python + + + At this point you should now have python installed on your computer and no longer be using trinket.io. We recommend [installing Anaconda](https://www.anaconda.com/products/individual) and using the Spyder integrated development environment (IDE). Python makes it easy to read and write text files. The general syntax for opening a file is as follows: diff --git a/docs/intermediate/06-images.md b/docs/intermediate/22-images.md similarity index 100% rename from docs/intermediate/06-images.md rename to docs/intermediate/22-images.md diff --git a/docs/trinket/15-sine-wave.md b/docs/trinket/15-sine-wave.md new file mode 100644 index 00000000..8746f370 --- /dev/null +++ b/docs/trinket/15-sine-wave.md @@ -0,0 +1,36 @@ +# Sine Wave +We can also use turtle graphics to do math function plots. + +Here is an example of plotting a sine function with turtle goto() functions. We calculate the new vertical value with the following function: + +```py +y = math.sin(math.radians(x)) +dan.goto(x, y * 80) +``` + +And we loop through about 400 values from -200 to 200. We use the radians() function to convert the numbers into a a number that will give us a single sine in the X range. + +```py +import turtle +dan = turtle.Turtle() +dan.shape('turtle') +# needed for the sin function +import math + +dan.penup() +dan.goto(-200, 28) +dan.color('blue') +dan.pensize(3) +dan.pendown() +for x in range(-200, 200): + y = math.sin(math.radians(x)) + dan.goto(x, y * 80) +``` + +Here is the output of this function: + +![Turtle Sine Wave](../img/turtle-sine-wave.png) + +## Link to Working Trinket Program + +[Link to Turle Sine Wave](https://trinket.io/python/b6a5eaf8d1) diff --git a/mkdocs.yml b/mkdocs.yml index 04f1e068..d9467783 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -18,6 +18,8 @@ nav: - Random Stars: trinket/13-random-stars.md - Input: trinket/11-input.md - Recursion: trinket/12-recursion.md + - Shape Module: trinket/13-shape-module.md + - Sine Wave: trinket/15-sine-wave.md - Beginning Python - Repl.it: - Square: repl/02-square.md - Flower: repl/07-flower.md @@ -29,11 +31,13 @@ nav: - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md - - Files: intermediate/05-files.md - - Images: intermediate/06-images.md + - JSON: intermediate/05-json.md + - Object Classes: intermediate/06-object-classes.md - Modules: intermediate/07-modules.md - Dir: intermediate/08-dir.md - Regular Expressions: intermediate/09-regex.md + - Files: intermediate/05-files.md + - Images: intermediate/06-images.md - Debugging: intermediate/10-debugging.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md From 0ee2b16fe1f0c98220a00a066908fa907cb94666 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 14 Aug 2021 12:38:10 -0500 Subject: [PATCH 32/65] updated content --- docs/intermediate/{intro.md => 01-intro.md} | 2 +- docs/intermediate/05-files.md | 6 +++++- docs/trinket/02-simple-square.md | 3 ++- docs/trinket/04-loops.md | 5 ++++- docs/trinket/05-conditionals.md | 13 ++++++++++++- mkdocs.yml | 10 ++++++---- 6 files changed, 30 insertions(+), 9 deletions(-) rename docs/intermediate/{intro.md => 01-intro.md} (93%) diff --git a/docs/intermediate/intro.md b/docs/intermediate/01-intro.md similarity index 93% rename from docs/intermediate/intro.md rename to docs/intermediate/01-intro.md index 9549ad4e..98ba68be 100644 --- a/docs/intermediate/intro.md +++ b/docs/intermediate/01-intro.md @@ -1,6 +1,6 @@ # Introduction to Intermediate Python -This course assumes you are familiar with beginning concepts in Python such as variables, loops, conditionals, random numbers, functions, function parameters, lists and basic recursion. +This course assumes you are familiar with beginning concepts in Python such as variables, loops, conditionals, random numbers, functions, function parameters, lists and basic recursion. We strongly suggest that you have completed the [CoderDoj Twin Cities Beginning Python Class](../trinket/00-introduction.md) BEFORE you do the intermediate labs. Note that you can do the first four lessons using web-based Python programming tools like Trinket.io or repl.it. Starting with lesson #5 on Files you will need to have Python installed on your local computer. Please visit the [Python.org](http://python.org) web site for the installation instructions on your operating systems. You can use the command-line version of Python from a Terminal or shell or you can install one of the Python Integrated Development Environments (IDEs). diff --git a/docs/intermediate/05-files.md b/docs/intermediate/05-files.md index 521e4397..b54caddb 100644 --- a/docs/intermediate/05-files.md +++ b/docs/intermediate/05-files.md @@ -1,5 +1,9 @@ # Reading and Writing Files in Python -At this point you should now have python installed on your computer and no longer be using trinket.io. We recommend [installing Anaconda](https://www.anaconda.com/products/individual) and using the Spyder integrated development environment (IDE). + +Most of the initial labs until now used the Trinket web site to teach you how to program Python. Although many of these labs use Trinket, some of the labs in the intermediate class need access to your local file system to learn how to open and manipulate files. To do this you must install Python on your local computer. + +To install Python on your computer visit the [Python.org](https://www.python.org) web site and follow the installation instructions for your computer operating system (Windows, Mac, Linux etc.) + Python makes it easy to read and write text files. The general syntax for opening a file is as follows: diff --git a/docs/trinket/02-simple-square.md b/docs/trinket/02-simple-square.md index bcea516c..97e63a1a 100644 --- a/docs/trinket/02-simple-square.md +++ b/docs/trinket/02-simple-square.md @@ -1,5 +1,5 @@ ## Drawing a Square -The following code is an example of drawing a square using turtle graphics. In this example the turtle moves foward 100 units and then turns right. The angle for the right turn is 90 degrees. It repeats these two functions four times to make a square. +The following code is an example of drawing a square using turtle graphics. In this example the turtle moves forward 100 units and then turns right. The angle for the right turn is 90 degrees. It repeats these two functions four times to make a square. ## Sample Code ```python @@ -19,6 +19,7 @@ dan.right(90) dan.forward(100) dan.right(90) ``` + ## Drawing ![](../img/simple-square.png) diff --git a/docs/trinket/04-loops.md b/docs/trinket/04-loops.md index 6417b82d..fe43fc49 100644 --- a/docs/trinket/04-loops.md +++ b/docs/trinket/04-loops.md @@ -25,4 +25,7 @@ dan.write('done with square') [Run Square With Loop](https://trinket.io/python/6cadd3c046) ## Experiments -Can you make the turtle draw a larger square? Hint: change the distance to be 80. How big can you make the square before the turtle goes off the screen? +1. Can you make the turtle draw a larger square? Hint: change the distance to be 80. How big can you make the square before the turtle goes off the screen? +2. Can you make a hexagon? This is a figure with six sides. Hint: the angle will need to be 60 and the range limit will need to be 6. +3. Can you make a hexagon? A Hexagon has eight sides. Hints: Try using an angle of 45. +4. Can you make a stop sign? You will need to use a dan.color('red'). a dan.begomfill() and a dan.endfill(). You can add the text of the word "stop" by using dan.moveto(x,y) and dan.write("STOP",None,None, "30pt bold"). You can also use the dan.hideturtle() so that the outline of the turtle is not displayed at the end. See: https://www.youtube.com/watch?v=HhxYt9Lskrw diff --git a/docs/trinket/05-conditionals.md b/docs/trinket/05-conditionals.md index 306b4fce..4f8518b5 100644 --- a/docs/trinket/05-conditionals.md +++ b/docs/trinket/05-conditionals.md @@ -36,4 +36,15 @@ dan.write('done with square') Can you make the turtle use a larger pen size? Try dan.pensize(10) for the red and dan.pensize(3) for the blue. ## Experiments -Can you change the width of the pen with the dan.penwidth(20) function? +1. Can you change the width of the pen with the dan.penwidth(20) function? +2. Show i +```py +for i in range(4): + dan.write(i ,None,None, "16pt bold") + if i % 2: + dan.color('red') + else: + dan.color('blue') + dan.forward(distance) + dan.right(angle) +``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 5439150c..fdea337d 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,17 +21,19 @@ nav: - Flower: repl/07-flower.md - Recursion: repl/12-recursion.md - Intermediate Python: - - Introduction: intermediate/intro.md + - Introduction: intermediate/01-intro.md - Variables and Scope: intermediate/01-variables-scope.md - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md - - Files: intermediate/05-files.md - - Images: intermediate/06-images.md - Modules: intermediate/07-modules.md - Dir: intermediate/08-dir.md - Regular Expressions: intermediate/09-regex.md - - Debugging: intermediate/10-debugging.md + + - Files (local file system): intermediate/05-files.md + - Images (local file system): intermediate/06-images.md + + - Debugging (vscode): intermediate/10-debugging.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md - Jupyter: From d814eaecbac242b9e78ad1b59da8efb6ed6b18b9 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 14 Aug 2021 12:41:19 -0500 Subject: [PATCH 33/65] updated content --- mkdocs.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 481e9cdf..65741107 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -31,7 +31,6 @@ nav: - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md -<<<<<<< HEAD - Modules: intermediate/07-modules.md - Dir: intermediate/08-dir.md - Regular Expressions: intermediate/09-regex.md @@ -40,7 +39,6 @@ nav: - Images (local file system): intermediate/06-images.md - Debugging (vscode): intermediate/10-debugging.md -======= - JSON: intermediate/05-json.md - Object Classes: intermediate/06-object-classes.md - Modules: intermediate/07-modules.md @@ -49,7 +47,6 @@ nav: - Files: intermediate/05-files.md - Images: intermediate/06-images.md - Debugging: intermediate/10-debugging.md ->>>>>>> 5737efd1b7400531f4fbc3842e0cfb7c98a98d46 - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md - Jupyter: From 1ff75d1ee5f987b1bfce34c317919ad3a8571c72 Mon Sep 17 00:00:00 2001 From: dmccreary Date: Sat, 14 Aug 2021 12:47:17 -0500 Subject: [PATCH 34/65] updated content --- docs/intermediate/05-files.md | 122 +++++++++++++++++++++++++++++++++ docs/intermediate/06-images.md | 11 +++ 2 files changed, 133 insertions(+) create mode 100644 docs/intermediate/05-files.md create mode 100644 docs/intermediate/06-images.md diff --git a/docs/intermediate/05-files.md b/docs/intermediate/05-files.md new file mode 100644 index 00000000..2204a95c --- /dev/null +++ b/docs/intermediate/05-files.md @@ -0,0 +1,122 @@ +# Reading and Writing Files in Python + +Most of the initial labs until now used the Trinket web site to teach you how to program Python. Although many of these labs use Trinket, some of the labs in the intermediate class need access to your local file system to learn how to open and manipulate files. To do this you must install Python on your local computer. + +To install Python on your computer visit the [Python.org](https://www.python.org) web site and follow the installation instructions for your computer operating system (Windows, Mac, Linux etc.) + +At this point you should now have python installed on your computer and no longer be using trinket.io. We recommend [installing Anaconda](https://www.anaconda.com/products/individual) and using the Spyder integrated development environment (IDE). + +Python makes it easy to read and write text files. The general syntax for opening a file is as follows: + +```file = open('/file/path/filename.txt', 'mode')``` + +The first argument is the path the file on your computer. If the file you're trying to open is in the same folder as your python script you can just input the filename, if not you'll need the path to file. For example, let's say you're using a Mac, your username is Bella, and you're trying to open a file called "myfile.txt" in your downloads folder. The path to that file would be: ```/Users/Bella/Downloads/myfile.txt``` + +Valid arguments for the mode parameter are: + +* 'w': writing to a file, this will overwrite a file if it already exists. +* 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. +* 'r': to read a file. + +### Reading Files + +For our example we're going to [download](https://www.gutenberg.org/files/2701/old/moby10b.txt) Herman Melville's _Moby-Dick_ from the Gutenberg Project to read. + +```python + f = open("/Users/Bella/Downloads/moby10b.txt","r") + + ### Let's take all the lines in Moby-Dick and store them in a list! + + lines = f.readlines() + + ### Close the file + + f.close() +``` + +Calling the ```.readlines()``` method on a file is very useful. If we wanted to do this manually, we would iterate over the lines in the file and add them one by one to a list. + +```python + + f = open("/Users/Bella/Downloads/moby10b.txt","r") + + lines = [] #define empty list + + for line in f: + lines.append(line) #we can use the .append() method to add new items to a list! + + f.close() +``` + +Let's say we needed to know exactly how many times each word appears in _Moby-Dick_: how might we do that? We'd have to account for things like punctuation, captalization and newline characters ('\n'). We'd also need to get every word by itself. + +```python +from string import punctuation #punctuation from the string library is a string that contains all punctuation marks +#you can run print(punctuation) to see what this looks like + +punctuation_list = list(punctuation) #convert string of punctuation marks to list + + +f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file +lines = f.readlines() #put all lines from Moby-Dick into a list +f.close() #close the file + +clean_lines = [] #empty list for lines stripped of newline characters and all characters converted to lowercase + +for line in lines: #go through every line in the file + clean_line = line.strip("\n") #get rid of new-line characters + clean_line = clean_line.lower() #convert everything to lowercase + clean_lines.append(clean_line) #add cleaned line to clean_lines + +words={} #create empty dictionary for words + +for line in clean_lines: #go through every line in the file + for mark in punctuation_list: #go through every punctuation mark + line=line.replace(mark,"") #use replace method to replace each possible punctuation mark with an empty string + line_words=line.split(" ") #we're using the string split() method to separate each line by space character + #this converts the line to a list + #for example: "This is a sentence.".split(" ") --> ['This', 'is', 'a', 'sentence.'] + for word in line_words: #iterate over every word in the line + if word not in words: # if we haven't seen this word yet + words[word]=1 #add it to the words dictionary, and mark the count as 1 + else: + words[word]+=1 #we've already seen this word, so increment the count by 1 +``` + +The method we used above to remove punctuation characters from the lines is not the most computationally efficent. We're going to learn a better way to do this in the section on Regex expressions. + +One thing we left out from the mapping section is that you can iterate over a dictionary using the .items() method. Here's what that looks like: + +```python + +my_dict = {1:"one",2:"two",3:"three"} + +for key, value in my_dict.items(): + print(key, value) +#this prints: +#1 one +#2 two +#3 three +``` + +### You Try It! +If you recall, a dictionary is an unordered data structure. Use what we learned about iterating over items in a dictionary to determine what word occurs the most frequently in _Moby-Dick_! + +### Writing Files + +Let's say we wanted to write out _Moby-Dick_ with no capital letters. Here's how we could approach that: + +```python + +f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file +lines = f.readlines() #put all lines from Moby-Dick into a list +f.close() #close the file + +new_file = open("/Users/Bella/Documents/moby-dick_lowercase.txt", "w") #write new file to Documents folder + +for line in lines: + new_file.write(line.lower()) + +new_file.close() + +``` \ No newline at end of file diff --git a/docs/intermediate/06-images.md b/docs/intermediate/06-images.md new file mode 100644 index 00000000..0b20b711 --- /dev/null +++ b/docs/intermediate/06-images.md @@ -0,0 +1,11 @@ +# Reading Images in Python + +Opening and displaying images in Python is pretty straightforward. It's a bit different than opening text files though. To open an image, let's use Python's built-in pil library. + +```python +from PIL import Image +my_image = Image.open("/path/to/image.jpg") +my_image.show() +``` + +The CoderDojo AI Racing League will explore more around working with image data. \ No newline at end of file From ba0f60304977ba6d27982b84d9cd38869aadc884 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 30 Oct 2021 14:17:59 -0500 Subject: [PATCH 35/65] updates to markdown content --- .vscode/settings.json | 1 + .../20-installing-local-python.md | 7 +++ docs/trinket/08c-turtle-shapes.md | 43 +++++++++++++++++++ mkdocs.yml | 1 + src/intermediate/sine-plot.py | 23 ++++++++++ src/ops/01-intro.md | 0 src/ops/README.md | 9 ++++ src/ops/ping-all-os.py | 18 ++++++++ src/ops/ping.py | 11 +++++ 9 files changed, 113 insertions(+) create mode 100644 docs/trinket/08c-turtle-shapes.md create mode 100644 src/intermediate/sine-plot.py create mode 100644 src/ops/01-intro.md create mode 100644 src/ops/README.md create mode 100644 src/ops/ping-all-os.py create mode 100644 src/ops/ping.py diff --git a/.vscode/settings.json b/.vscode/settings.json index e9540ffb..9a49861c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "Mojhave", "Trinkit", "coderdojo", "jupyter", diff --git a/docs/intermediate/20-installing-local-python.md b/docs/intermediate/20-installing-local-python.md index a85672cf..13ba2762 100644 --- a/docs/intermediate/20-installing-local-python.md +++ b/docs/intermediate/20-installing-local-python.md @@ -44,6 +44,13 @@ for step in range(0, len(myPath)): print(step+1, myPath[step]) ``` +## Using Conda Environments +We use conda to keep all our Python projects separate. + +```sh +conda create -n coderdojo python=3 +conda activate coderdojo +``` ## Installing Python in an Integrated Development Environment (IDE) diff --git a/docs/trinket/08c-turtle-shapes.md b/docs/trinket/08c-turtle-shapes.md new file mode 100644 index 00000000..87591c1e --- /dev/null +++ b/docs/trinket/08c-turtle-shapes.md @@ -0,0 +1,43 @@ +# Change the Turtle Shape + +You can change your turtle shape to be any of the following: + +1. 'arrow' +2. 'turtle' +3. 'circle' +4. 'square' +5. 'triangle' +6. 'classic' + +```py +import turtle +dan = turtle.Turtle() +dan.shape('square') +``` + +The ```classic``` shape is a small arrow. + +## Using a List of Shapes +What if we want to use a list of shapes? + +```py +import turtle, time +dan = turtle.Turtle() + +myList = ["square", "circle", 'triangle', 'arrow', 'classic', 'turtle'] + +for index in range(0, len(myList)): + dan.shape(myList[index]) + time.sleep(1) +``` + +```py +import turtle, time +dan = turtle.Turtle() + +myList = ["square", "circle", 'triangle', 'arrow', 'classic', 'turtle'] + +for myShape in myList: + dan.shape(myShape) + time.sleep(1) +``` diff --git a/mkdocs.yml b/mkdocs.yml index 65741107..670f84aa 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,6 +14,7 @@ nav: - Flower: trinket/07-flower.md - Function Parameters: trinket/07-function-parameters.md - Lists: trinket/08-list.md + - Turtle Shape Lists: trinket/09-turtle-shapes.md - Random Numbers: trinket/08-random.md - Random Stars: trinket/13-random-stars.md - Input: trinket/11-input.md diff --git a/src/intermediate/sine-plot.py b/src/intermediate/sine-plot.py new file mode 100644 index 00000000..3401c06c --- /dev/null +++ b/src/intermediate/sine-plot.py @@ -0,0 +1,23 @@ +import numpy as np +import matplotlib.pyplot as plot +# Get x values of the sine wave +time = np.arange(0, 10, 0.1); + +# Amplitude of the sine wave is sine of a variable like time +amplitude = np.cos(time) + +# Plot a sine wave using time and amplitude obtained for the sine wave +plot.plot(time, amplitude) + +# Give a title for the sine wave plot +plot.title('Sine wave') + +# Give x axis label for the sine wave plot +plot.xlabel('Time') + +# Give y axis label for the sine wave plot + +plot.ylabel('Amplitude = sin(time)') +plot.grid(True, which='both') +plot.axhline(y=0, color='k') +plot.show() diff --git a/src/ops/01-intro.md b/src/ops/01-intro.md new file mode 100644 index 00000000..e69de29b diff --git a/src/ops/README.md b/src/ops/README.md new file mode 100644 index 00000000..9e9ed90a --- /dev/null +++ b/src/ops/README.md @@ -0,0 +1,9 @@ +# Using Python Do Operations Management + +This directory is for teaching how to use Python to do Operations Management. This includes things like: + +1. Montoring the network +2. Getting notified if a remote computer is not working +3. Creating deploymnet scripts that install software on a remote system +4. Creating graphs that display response times to remote sites +5. Building notification systems that tell people when performance drops below a specfic value diff --git a/src/ops/ping-all-os.py b/src/ops/ping-all-os.py new file mode 100644 index 00000000..f06f6632 --- /dev/null +++ b/src/ops/ping-all-os.py @@ -0,0 +1,18 @@ +import platform # For getting the operating system name +import subprocess # For executing a shell command + +def ping(host): + """ + Returns True if host (str) responds to a ping request. + Remember that a host may not respond to a ping (ICMP) request even if the host name is valid. + """ + + # Option for the number of packets as a function of + param = '-n' if platform.system().lower()=='windows' else '-c' + + # Building the command. Ex: "ping -c 1 google.com" + command = ['ping', param, '1', host] + + return subprocess.call(command) == 0 + +ping(127.0.0.1) diff --git a/src/ops/ping.py b/src/ops/ping.py new file mode 100644 index 00000000..4c0fad81 --- /dev/null +++ b/src/ops/ping.py @@ -0,0 +1,11 @@ +import os +# sample code taken from: https://stackoverflow.com/questions/2953462/pinging-servers-in-python +# This will the Unix "ping" command which will work from most Mac and UNIX systems but not on Windows +hostname = "127.0.0.1" # example of pinging the loopback address +response = os.system("ping -c 1 " + hostname) + +#and then check the response... +if response == 0: + print(hostname, 'is up!') +else: + print(hostname, 'is down!') From 5700796d7763fc1bfb60e53f281f2ba9c31da542 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 30 Oct 2021 14:50:50 -0500 Subject: [PATCH 36/65] updates to markdown content --- docs/trinket/08-list.md | 26 ++++++++++++++++++++++++++ docs/trinket/08c-turtle-shapes.md | 16 ++++++++-------- mkdocs.yml | 2 +- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/docs/trinket/08-list.md b/docs/trinket/08-list.md index 8458978e..7db8653e 100644 --- a/docs/trinket/08-list.md +++ b/docs/trinket/08-list.md @@ -29,6 +29,32 @@ dan.circle(20) dan.end_fill() ``` +## Iterating over many colors + +```py +import turtle +import random +dan = turtle.Turtle() +dan.shape('turtle') + +color_list = ['red', 'orange', 'yellow', 'green', 'blue', + 'purple', 'pink', 'brown', 'gray', 'gold', 'cyan', 'Gainsboro', 'gray', + 'dimgray', 'LightSlateGray','AliceBlue', 'LimeGreen', 'DarkKhaki', 'Khaki'] + +dan.penup() +dan.goto(-180, 160) +dan.begin_fill() +for myColor in color_list: + dan.color(myColor) + dan.pendown() + dan.begin_fill() + dan.circle(10) + dan.end_fill() + dan.penup() + dan.forward(20) +dan.hideturtle() +``` + ## Drawing ![](../img/green-circle.png) diff --git a/docs/trinket/08c-turtle-shapes.md b/docs/trinket/08c-turtle-shapes.md index 87591c1e..fa0c35f7 100644 --- a/docs/trinket/08c-turtle-shapes.md +++ b/docs/trinket/08c-turtle-shapes.md @@ -1,13 +1,13 @@ # Change the Turtle Shape -You can change your turtle shape to be any of the following: - -1. 'arrow' -2. 'turtle' -3. 'circle' -4. 'square' -5. 'triangle' -6. 'classic' +With the turtle shape() method we can change your turtle shape to be any of the following shapes + +1. arrow +2. turtle +3. circle +4. square +5. triangle +6. classic ```py import turtle diff --git a/mkdocs.yml b/mkdocs.yml index 670f84aa..71d23f4b 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,7 +14,7 @@ nav: - Flower: trinket/07-flower.md - Function Parameters: trinket/07-function-parameters.md - Lists: trinket/08-list.md - - Turtle Shape Lists: trinket/09-turtle-shapes.md + - List of Turtle Shapes: trinket/09-turtle-shapes.md - Random Numbers: trinket/08-random.md - Random Stars: trinket/13-random-stars.md - Input: trinket/11-input.md From 8b37e16bce541b89cebf0750b007d5a2da63af73 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Sat, 30 Oct 2021 14:51:26 -0500 Subject: [PATCH 37/65] updates to markdown content --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 71d23f4b..8479c174 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,7 +14,7 @@ nav: - Flower: trinket/07-flower.md - Function Parameters: trinket/07-function-parameters.md - Lists: trinket/08-list.md - - List of Turtle Shapes: trinket/09-turtle-shapes.md + - List of Turtle Shapes: trinket/08c-turtle-shapes.md - Random Numbers: trinket/08-random.md - Random Stars: trinket/13-random-stars.md - Input: trinket/11-input.md From 1ef12355b7933f2d566acdd22d5f8b25c4cbc40c Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Mon, 1 Nov 2021 07:41:04 -0500 Subject: [PATCH 38/65] updates to markdown content --- docs/img/row-of-circles.png | Bin 0 -> 12776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/img/row-of-circles.png diff --git a/docs/img/row-of-circles.png b/docs/img/row-of-circles.png new file mode 100644 index 0000000000000000000000000000000000000000..b082b601176f79b0180f5402acd59c2d920b3d9c GIT binary patch literal 12776 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 A>Hq)$ literal 0 HcmV?d00001 From b04d338afc88e697f651b5365056da07982d30e5 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Thu, 14 Apr 2022 14:26:47 -0500 Subject: [PATCH 39/65] Add additional examples and correct links --- docs/img/night_sky.png | Bin 0 -> 7650 bytes docs/img/rocketpanda.png | Bin 0 -> 3947 bytes .../20-installing-local-python.md | 3 +- docs/intermediate/21-files.md | 122 ----------------- docs/intermediate/22-images.md | 11 -- docs/trinket/00-introduction.md | 16 ++- docs/trinket/08b-random-stars.md | 59 +++++++++ docs/trinket/08c-turtle-shapes.md | 7 + docs/trinket/13-random-stars.md | 38 ------ docs/trinket/13-shape-module.md | 16 ++- docs/trinket/14-color-picker.md | 31 ++++- docs/trinket/16-changing-background.md | 23 ++++ docs/trinket/17-controlling-mouseclicks.md | 112 ++++++++++++++++ mkdocs.yml | 18 ++- src/Untitled.ipynb | 60 --------- src/Untitled1.ipynb | 124 ------------------ src/Untitled2.ipynb | 52 -------- 17 files changed, 265 insertions(+), 427 deletions(-) create mode 100644 docs/img/night_sky.png create mode 100644 docs/img/rocketpanda.png delete mode 100644 docs/intermediate/21-files.md delete mode 100644 docs/intermediate/22-images.md create mode 100644 docs/trinket/08b-random-stars.md delete mode 100644 docs/trinket/13-random-stars.md create mode 100644 docs/trinket/16-changing-background.md create mode 100644 docs/trinket/17-controlling-mouseclicks.md delete mode 100644 src/Untitled.ipynb delete mode 100644 src/Untitled1.ipynb delete mode 100644 src/Untitled2.ipynb diff --git a/docs/img/night_sky.png b/docs/img/night_sky.png new file mode 100644 index 0000000000000000000000000000000000000000..0b519bb55e3d7834fa3b340e9d7239806b68f818 GIT binary patch literal 7650 zcmV<89UbC{P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 0 HcmV?d00001 diff --git a/docs/intermediate/20-installing-local-python.md b/docs/intermediate/20-installing-local-python.md index 13ba2762..cc9d8776 100644 --- a/docs/intermediate/20-installing-local-python.md +++ b/docs/intermediate/20-installing-local-python.md @@ -3,8 +3,7 @@ The next few labs are labs that must be run on your local computer because the will interact with the local operating system and local file system. You will not be able to use Trinket to run these programs. The main site for Python is here: - - [https://www.python.org/](https://www.python.org/) +[https://www.python.org/](https://www.python.org/) If you go to that site there will be pages for Downloads and Documentation for each version of your desktop or PC. diff --git a/docs/intermediate/21-files.md b/docs/intermediate/21-files.md deleted file mode 100644 index 2204a95c..00000000 --- a/docs/intermediate/21-files.md +++ /dev/null @@ -1,122 +0,0 @@ -# Reading and Writing Files in Python - -Most of the initial labs until now used the Trinket web site to teach you how to program Python. Although many of these labs use Trinket, some of the labs in the intermediate class need access to your local file system to learn how to open and manipulate files. To do this you must install Python on your local computer. - -To install Python on your computer visit the [Python.org](https://www.python.org) web site and follow the installation instructions for your computer operating system (Windows, Mac, Linux etc.) - -At this point you should now have python installed on your computer and no longer be using trinket.io. We recommend [installing Anaconda](https://www.anaconda.com/products/individual) and using the Spyder integrated development environment (IDE). - -Python makes it easy to read and write text files. The general syntax for opening a file is as follows: - -```file = open('/file/path/filename.txt', 'mode')``` - -The first argument is the path the file on your computer. If the file you're trying to open is in the same folder as your python script you can just input the filename, if not you'll need the path to file. For example, let's say you're using a Mac, your username is Bella, and you're trying to open a file called "myfile.txt" in your downloads folder. The path to that file would be: ```/Users/Bella/Downloads/myfile.txt``` - -Valid arguments for the mode parameter are: - -* 'w': writing to a file, this will overwrite a file if it already exists. -* 'a': append to a file, you can add new lines to a file that already exists, otherwise it will create the file. -* 'r': to read a file. - -### Reading Files - -For our example we're going to [download](https://www.gutenberg.org/files/2701/old/moby10b.txt) Herman Melville's _Moby-Dick_ from the Gutenberg Project to read. - -```python - f = open("/Users/Bella/Downloads/moby10b.txt","r") - - ### Let's take all the lines in Moby-Dick and store them in a list! - - lines = f.readlines() - - ### Close the file - - f.close() -``` - -Calling the ```.readlines()``` method on a file is very useful. If we wanted to do this manually, we would iterate over the lines in the file and add them one by one to a list. - -```python - - f = open("/Users/Bella/Downloads/moby10b.txt","r") - - lines = [] #define empty list - - for line in f: - lines.append(line) #we can use the .append() method to add new items to a list! - - f.close() -``` - -Let's say we needed to know exactly how many times each word appears in _Moby-Dick_: how might we do that? We'd have to account for things like punctuation, captalization and newline characters ('\n'). We'd also need to get every word by itself. - -```python -from string import punctuation #punctuation from the string library is a string that contains all punctuation marks -#you can run print(punctuation) to see what this looks like - -punctuation_list = list(punctuation) #convert string of punctuation marks to list - - -f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file -lines = f.readlines() #put all lines from Moby-Dick into a list -f.close() #close the file - -clean_lines = [] #empty list for lines stripped of newline characters and all characters converted to lowercase - -for line in lines: #go through every line in the file - clean_line = line.strip("\n") #get rid of new-line characters - clean_line = clean_line.lower() #convert everything to lowercase - clean_lines.append(clean_line) #add cleaned line to clean_lines - -words={} #create empty dictionary for words - -for line in clean_lines: #go through every line in the file - for mark in punctuation_list: #go through every punctuation mark - line=line.replace(mark,"") #use replace method to replace each possible punctuation mark with an empty string - line_words=line.split(" ") #we're using the string split() method to separate each line by space character - #this converts the line to a list - #for example: "This is a sentence.".split(" ") --> ['This', 'is', 'a', 'sentence.'] - for word in line_words: #iterate over every word in the line - if word not in words: # if we haven't seen this word yet - words[word]=1 #add it to the words dictionary, and mark the count as 1 - else: - words[word]+=1 #we've already seen this word, so increment the count by 1 -``` - -The method we used above to remove punctuation characters from the lines is not the most computationally efficent. We're going to learn a better way to do this in the section on Regex expressions. - -One thing we left out from the mapping section is that you can iterate over a dictionary using the .items() method. Here's what that looks like: - -```python - -my_dict = {1:"one",2:"two",3:"three"} - -for key, value in my_dict.items(): - print(key, value) -#this prints: -#1 one -#2 two -#3 three -``` - -### You Try It! -If you recall, a dictionary is an unordered data structure. Use what we learned about iterating over items in a dictionary to determine what word occurs the most frequently in _Moby-Dick_! - -### Writing Files - -Let's say we wanted to write out _Moby-Dick_ with no capital letters. Here's how we could approach that: - -```python - -f = open("/Users/Bella/Downloads/moby10b.txt", "r") #open Moby-Dick file -lines = f.readlines() #put all lines from Moby-Dick into a list -f.close() #close the file - -new_file = open("/Users/Bella/Documents/moby-dick_lowercase.txt", "w") #write new file to Documents folder - -for line in lines: - new_file.write(line.lower()) - -new_file.close() - -``` \ No newline at end of file diff --git a/docs/intermediate/22-images.md b/docs/intermediate/22-images.md deleted file mode 100644 index 0b20b711..00000000 --- a/docs/intermediate/22-images.md +++ /dev/null @@ -1,11 +0,0 @@ -# Reading Images in Python - -Opening and displaying images in Python is pretty straightforward. It's a bit different than opening text files though. To open an image, let's use Python's built-in pil library. - -```python -from PIL import Image -my_image = Image.open("/path/to/image.jpg") -my_image.show() -``` - -The CoderDojo AI Racing League will explore more around working with image data. \ No newline at end of file diff --git a/docs/trinket/00-introduction.md b/docs/trinket/00-introduction.md index 9f439aff..b106b414 100644 --- a/docs/trinket/00-introduction.md +++ b/docs/trinket/00-introduction.md @@ -17,16 +17,20 @@ The map above is a visual guide to our Introduction to Python course. Students For students that are new to programming, here are some sample programs (what we call learning labs) that you can try. You can learn by reading the sample programs, going to the Trinkit.io site and changing some values in the code. Each of the labs has experiments at the end you can do to extend to see if you have mastered the concepts before you go on to the next lab. 1. [Trinket Account](./01a-trinket-account.md) - introduction to the Turtle Graphs library with a list of drawing functions -1. [Turtle graphics](./01a-turtle-graphics.md) - introduction to the Turtle Graphs library with a list of drawing functions -2. [Simple square](./02-simple-square.md) - draw a square by moving and turning right four times +2. [Turtle graphics](./01b-turtle-graphics.md) - introduction to the Turtle Graphs library with a list of drawing functions +3. [Simple square](./02-simple-square.md) - draw a square by moving and turning right four times 4. [Variables](./03-variables.md) - add variables for the move edge distance and angle 5. [Loops](./04-loops.md) - add a loop to make our code smaller 6. [Conditionals](./05-conditionals.md) - add an if statement to change the color 7. [Functions](./06-functions.md) - create a shape function 8. [Function parameters](./07-function-parameters.md) - add parameters to our function 9. [Random](./08-random.md) - generate random numbers that are used do drive the turtle -9. [Lists](./08-list.md) - store a list of colors -10. [Inputs](./11-input.md) - get some input from the user -11. [Recursion](./12-recursion.md) - create a function that calls itself to draw a tree - +10. [Lists](./08-list.md) - store a list of colors +11. [Inputs](./11-input.md) - get some input from the user +12. [Recursion](./12-recursion.md) - create a function that calls itself to draw a tree +13. [Shapes](./13-shape-module.md) - creating a separate module to draw shapes +14. [Color picker](./14-color-picker.md) - picking different colors +15. [Sine wave](./15-sine-wave.md) - creating a sine wave +16. [Changing Background](./16-changing-background.md) - changing background image and capturing keyboard +17. [Controlling MouseClicks](./17-controlling-mouseclicks.md) - Tracking mouse clicks diff --git a/docs/trinket/08b-random-stars.md b/docs/trinket/08b-random-stars.md new file mode 100644 index 00000000..d93b9365 --- /dev/null +++ b/docs/trinket/08b-random-stars.md @@ -0,0 +1,59 @@ +## Random Circles + +In this exercise we will draw 5 stars of different colors: +The colors are randomly picked from the list of colors +``` +colorList = ['red', 'orange', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] +mycolor = colorList[random.randint(0,len(colorList)-1)] +``` +After these line runs, the variable mycolor will be assigned some random color from the list of colors myColorList. We will then use this color to fill a star. +The stars are drawn at random locations selected in x = random.randint(-max_distance, max_distance) + y = random.randint(-max_distance, max_distance) + The size of star is also randomly picked size = random.randint(15, 30) + +## Sample Code +```python +import turtle +import random +# this is a list of colors +colorList = ['red', 'orange', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] +dan = turtle.Turtle() +dan.shape('turtle') +dan.delay(1) +dan.clear() +dan.penup() + +max_distance = 160 + +# draw an eight sided star +def star(x, y, size, color): + dan.goto(x, y) + dan.color(colorList[random.randint(0,len(colorList)-1)]) + dan.pendown() + dan.begin_fill() + for i in range(1,8): + dan.forward(size) + dan.right(150) + dan.forward(size) + dan.left(100) + dan.end_fill() + dan.right(10) + dan.penup() + +# draw a pattern at a random location on the screen +for i in range(5): + x = random.randint(-max_distance, max_distance) + y = random.randint(-max_distance, max_distance) + size = random.randint(15, 30) + color_index = random.randint(0,8) + # draw a star with size and color + star(x,y,size, color_index) + +# hide so we have a nice drawing +dan.hideturtle() +``` + + +## Experiments +1. Can you create a variable for the number of circles to draw? +2. Go to the [Trinket colors page](https://trinket.io/docs/colors) and see the name of other colors you can use. Note that you can use any of these colors in your lists. diff --git a/docs/trinket/08c-turtle-shapes.md b/docs/trinket/08c-turtle-shapes.md index fa0c35f7..a6a7c1d3 100644 --- a/docs/trinket/08c-turtle-shapes.md +++ b/docs/trinket/08c-turtle-shapes.md @@ -41,3 +41,10 @@ for myShape in myList: dan.shape(myShape) time.sleep(1) ``` + + +##Sample program +[Sample](https://trinket.io/library/trinkets/c9924a123a) + +## Experiments +Can you use the new shapes to draw a star or any other shape of your chosing \ No newline at end of file diff --git a/docs/trinket/13-random-stars.md b/docs/trinket/13-random-stars.md deleted file mode 100644 index f5a66ce3..00000000 --- a/docs/trinket/13-random-stars.md +++ /dev/null @@ -1,38 +0,0 @@ -import turtle -import random -# this is a list of colors -colorList = ['red', 'orange', 'green', 'blue', 'purple', 'pink', 'brown', 'gray', 'gold'] -dan = turtle.Turtle() -dan.shape('turtle') -dan.delay(1) -dan.clear() -dan.penup() - -max_distance = 160 - -# draw an eight sided star -def star(x, y, size, color): - dan.goto(x, y) - dan.color(colorList[random.randint(0,len(colorList)-1)]) - dan.pendown() - dan.begin_fill() - for i in range(1,8): - dan.forward(size) - dan.right(150) - dan.forward(size) - dan.left(100) - dan.end_fill() - dan.right(10) - dan.penup() - -# draw a pattern at a random location on the screen -for i in range(5): - x = random.randint(-max_distance, max_distance) - y = random.randint(-max_distance, max_distance) - size = random.randint(15, 30) - color_index = random.randint(0,8) - # draw a star with size and color - star(x,y,size, color_index) - -# hide so we have a nice drawing -dan.hideturtle() \ No newline at end of file diff --git a/docs/trinket/13-shape-module.md b/docs/trinket/13-shape-module.md index 1238f904..fa7b58a1 100644 --- a/docs/trinket/13-shape-module.md +++ b/docs/trinket/13-shape-module.md @@ -2,9 +2,23 @@ In this lab we will create a set of drawing function and put them together into a new file. We will then import this file into our main.py file. +Example code to import the module in main.py +``` py +import turtle +from shape import * +dan = turtle.Turtle() +dan.shape('turtle') + +draw_triangle(dan, 'red', 5, 20, 30) + +draw_circle(dan, 'orange', 10, 0, 30) -## Sample Code +draw_square(dan, 'orange', 15, -20, 30) ``` + + +## Sample Codeimited t +```py # This is a custom module we've made. # Modules are files full of code that you can import into your programs. # This one teaches our turtle to draw various shapes. diff --git a/docs/trinket/14-color-picker.md b/docs/trinket/14-color-picker.md index 453150df..0febf292 100644 --- a/docs/trinket/14-color-picker.md +++ b/docs/trinket/14-color-picker.md @@ -1,3 +1,32 @@ ## Color Picker -[Color Picker](https://projects.raspberrypi.org/en/projects/colourful-creations/1) \ No newline at end of file +You are not limited to the colors by name [Trinket Colors](https://trinket.io/docs/colors). +You can use Hex and RGB values and let your imagination run wild. + +[Color Picker](https://projects.raspberrypi.org/en/projects/colourful-creations/1) + +#Example code +```py + +import turtle + +#turtle.setup(400,500) +wn = turtle.Screen() +wn.setup(400,500) +#turtle.title("Tess becomes a traffic light!") +wn.bgcolor("A7E30E") +tess = turtle.Turtle() +tess.color('#FA057F') +style = ('Arial', 40, 'bold') +tess.write('Hello', font=style, align='Center') +tess.hideturtle() + +``` + +## Experiments +Can you try different colors? +Can you change font properties in style object? + +The font name can as 'Arial', 'Courier', or 'Times New Roman' +The font size in pixels. +The font type, which can be 'normal', 'bold', or 'italic' \ No newline at end of file diff --git a/docs/trinket/16-changing-background.md b/docs/trinket/16-changing-background.md new file mode 100644 index 00000000..4472b727 --- /dev/null +++ b/docs/trinket/16-changing-background.md @@ -0,0 +1,23 @@ +## Changing background and using keys to move the rocket + +We can use trinkets to change the background and change the shape of the turtle with a custom image. +Also we can control the screen with the mouse. It gives a starting point for how to create a game. + +The following blog lays out the steps for creating a rocket ship +https://blog.trinket.io/using-images-in-turtle-programs/ + + +The images have to be the same size as the the screen size. Here are some other images that have been resized. + +#Background +![Night Sky matching screen size](../img/night_sky.png) + +#Rocketpanda +![Rocket panda](../img/rocketpanda.png) + +## Sample Program +[Sample](https://trinket.io/library/trinkets/eacf1bc102) + +## Experiments +1. Can you map another keyboard key to take some other actions like jump, draw a circle. +2. Use different images and create backgrounds of your choice, like rocketpanda gliding through night sky diff --git a/docs/trinket/17-controlling-mouseclicks.md b/docs/trinket/17-controlling-mouseclicks.md new file mode 100644 index 00000000..d0850623 --- /dev/null +++ b/docs/trinket/17-controlling-mouseclicks.md @@ -0,0 +1,112 @@ +## Getting a handle of the mouse clicks + +We can use trinkets to change the background and control mouse clicks. +Also we have access to the exact position where the mouse was clicked. That creates a lot of possibilities +for creating different interactions with the screen. + +Code to change screen color + +Code to get co-ordinates of mouse click +```py + x=turtle.xcor() + y=turtle.ycor() +``` + +Here is an example of setting the screen color. We then draw a square in the center of the screen. +When the user clicks a circle is drawn within the circle. On next click the circle increases in diameter. When the circle touches the square, it stops increaing in size. + +If the user clicks the screen outside the square the screen is refreshed + +```py + + +#import packages +import turtle +import random + +# global colors +col = [ 'yellow', 'green', 'blue', + 'white', 'orange', 'pink'] +circlecol = [ 'red', 'magenta', 'purple', + 'black', 'brown', 'turqouise' ] +# method to call on screen click +tina = turtle.Turtle() +circlediameter=10 +squaresize = 200 + +def drawCircleOnMouseClick(x, y): + global circlecol + global circlediameter + print(" x={}, y={}".format(x,y)) + + ##If mouse is clicked within square increase size, if mouse clicked outside reset screen + if (isMouseClickWithinSquare(x,y)) : + ## Check if diameter is same size as square + if (circlediameter <= squaresize/2): + print(" circlediameter={}, squaresize={}".format(circlediameter,squaresize)) + ##If yes do not increase the size else increase the size + circlediameter += 10 +##If mouse is clicked outside the square, reset the screen - draw a new square + else: + screenreset() + + + draw_circle(tina, circlediameter, getCircleColor() ) + +def getBgColor(): + ind = random.randint(0, 5) + return col[ind] + +def getCircleColor(): + ind = random.randint(0, 5) + return circlecol[ind] + +def drawsquare(turtle, size, color, startx, starty): + turtle.penup() + turtle.goto(startx, starty) + turtle.pendown() + turtle.fillcolor(color) + turtle.color(color) + turtle.begin_fill() + for i in range(4): + turtle.forward(size) + turtle.left(90) + turtle.end_fill() + +def draw_circle(turtle, diameter, color): + turtle.penup() + turtle.goto(0, -diameter) + turtle.pendown() + turtle.fillcolor(color) + turtle.color(color) + turtle.begin_fill() + turtle.circle(diameter) + turtle.end_fill() + +def screenreset(): + tina.reset() + drawsquare(tina, squaresize, getBgColor(), -100, -100 ) + +def isMouseClickWithinSquare(x, y): + return (x >= -100 and x <= 100 and y >= -100 and y <= 100) +# set screen +sc = turtle.Screen() +sc.setup(400, 400) +sc.bgcolor('skyblue') +screenreset() + +##Screen can respond to mouseclick and we can tell it what action to take i.e. method to call + + +# call method on screen click +sc.onscreenclick(drawCircleOnMouseClick) +``` + +##Sample Program +[Sample](https://trinket.io/library/trinkets/0c79d0d02a) + +## Experiments +1. Can you draw different shapes +2. Can you add some more colors in the arrays +3. Can you change background color of the screen +4. Can you try some other [events](https://docs.python.org/2.7/library/turtle.html#methods-of-turtlescreen-screen) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 8479c174..5c9a9ceb 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,11 +16,15 @@ nav: - Lists: trinket/08-list.md - List of Turtle Shapes: trinket/08c-turtle-shapes.md - Random Numbers: trinket/08-random.md - - Random Stars: trinket/13-random-stars.md + - Random Stars: trinket/08b-random-stars.md - Input: trinket/11-input.md - Recursion: trinket/12-recursion.md - Shape Module: trinket/13-shape-module.md + - Color Picker: trinket/14-color-picker.md - Sine Wave: trinket/15-sine-wave.md + - Changing background: trinket/16-changing-background.md + - Controlling mouseclicks: trinket/17-controlling-mouseclicks.md + - Other examples: trinket/examples.m - Beginning Python - Repl.it: - Square: repl/02-square.md - Flower: repl/07-flower.md @@ -32,24 +36,18 @@ nav: - Data Types: intermediate/02-data-types.md - Data Types & Function Parameters: intermediate/03-data-type-validation.md - Maps: intermediate/04-maps.md - - Modules: intermediate/07-modules.md - - Dir: intermediate/08-dir.md - - Regular Expressions: intermediate/09-regex.md - - Files (local file system): intermediate/05-files.md - - Images (local file system): intermediate/06-images.md - - - Debugging (vscode): intermediate/10-debugging.md + - Images (local file system): intermediate/06-images.md - JSON: intermediate/05-json.md - Object Classes: intermediate/06-object-classes.md - Modules: intermediate/07-modules.md - Dir: intermediate/08-dir.md - Regular Expressions: intermediate/09-regex.md - - Files: intermediate/05-files.md - - Images: intermediate/06-images.md - Debugging: intermediate/10-debugging.md + - Plotting sine: intermediate/12-plot-sin.md - Maze Solving with BFS: intermediate/bfsMaze.md - Maze Solving with DFS: intermediate/dfsMaze.md + - Installing Python: intermediate/20-installing-local-python.md - Jupyter: - Setup Turtle on Jupyter: jupyter/01-setup.md - Drawing Box Labs: jupyter/02-draw-box.md diff --git a/src/Untitled.ipynb b/src/Untitled.ipynb deleted file mode 100644 index 9178bb36..00000000 --- a/src/Untitled.ipynb +++ /dev/null @@ -1,60 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44cd4b90bb0940d682af9142be102085", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Turtle()" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from ipyturtle import Turtle\n", - "t = Turtle()\n", - "t.forward(100)\n", - "t.right(90)\n", - "t" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "turtle", - "language": "python", - "name": "turtle" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/src/Untitled1.ipynb b/src/Untitled1.ipynb deleted file mode 100644 index a5418b28..00000000 --- a/src/Untitled1.ipynb +++ /dev/null @@ -1,124 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "import turtle\n", - "bob = turtle.Turtle()\n", - "print(bob)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "for i in range(8):\n", - " bob.fd(50)\n", - " bob.lt(45)\n", - "bob" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "t = turtle.Turtle()\n", - "t.clear()\n", - "t\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ipyturtle import Turtle\n", - "t = turtle.Turtle()\n", - "t.clear()\n", - "t.color('blue')\n", - "t.pensize(5)\n", - "for i in range(8):\n", - " t.fd(50)\n", - " t.rt(45)\n", - "t" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "turtle", - "language": "python", - "name": "turtle" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/src/Untitled2.ipynb b/src/Untitled2.ipynb deleted file mode 100644 index 6ff9c7f0..00000000 --- a/src/Untitled2.ipynb +++ /dev/null @@ -1,52 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "1+1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.2" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} From c5c25c039a142b6c5e15e51a4e0f4b0036d54609 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Thu, 14 Apr 2022 14:39:24 -0500 Subject: [PATCH 40/65] Fixed links --- docs/trinket/examples.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/trinket/examples.md b/docs/trinket/examples.md index ac6444f8..017661c8 100644 --- a/docs/trinket/examples.md +++ b/docs/trinket/examples.md @@ -1,6 +1,8 @@ # Trinket Examples -1. Bullseye Dart Game - https://trinket.io/python/90130df21a -2. Tic Tac Toe Game - https://trinket.io/library/trinkets/3913dfe7af -3. How to Find Prime Numbers? - https://trinket.io/library/trinkets/aa9d51a7b9 -4. Drawing an Elephant - https://trinket.io/library/trinkets/9202036e6a +1. [Bullseye Dart Game](https://trinket.io/python/90130df21a) +2. [Tic Tac Toe Game](https://trinket.io/library/trinkets/3913dfe7af) +3. [How to Find Prime Numbers?](https://trinket.io/library/trinkets/aa9d51a7b9) +4. [Drawing an Elephant](https://trinket.io/library/trinkets/9202036e6a) + +Use the [Turtle API](https://docs.python.org/2.7/library/turtle.html) documentation to check out what else is available. From 1a9a04a37f91b98b6ef4cd7da45d50b133043835 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 11:19:19 -0500 Subject: [PATCH 41/65] Change actions --- .github/workflows/main.yml | 2 ++ mkdocs.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb7b99c4..09e42bff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,8 @@ name: Build Documentation using MkDocs on: push: branches: [master] + paths: + - '**.yml' pull_request: branches: [master] diff --git a/mkdocs.yml b/mkdocs.yml index 5c9a9ceb..2a05bca5 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ nav: - CoderDojo TC: https://coderdojotc.github.io/CoderDojoTC/ - Beginning Python - Trinket: - Introduction: trinket/00-introduction.md - - Using Trinket: trinket/01a-trinket-account.md + - Setting Up Trinket: trinket/01a-trinket-account.md - Turtle Graphics: trinket/01b-turtle-graphics.md - Turtle Square: trinket/02-simple-square.md - Variables: trinket/03-variables.md From 9e759ee2018544ddbb658bf1f3e3595e244d687b Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 11:27:49 -0500 Subject: [PATCH 42/65] Change version --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 09e42bff..50f7404a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Master - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Python 3.7 uses: actions/setup-python@v2 From d54569fea01d44ef7f7304ad5959437d6f21cc78 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 12:24:54 -0500 Subject: [PATCH 43/65] Trying deploy-pages --- .github/workflows/main.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 50f7404a..f64f9831 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,6 +29,9 @@ jobs: pip install mkdocs-material - name: Deploy - run: | - git pull - mkdocs gh-deploy + uses: actions/deploy-pages@v1 + # with: + # branch: master # The branch the action should deploy to. + # run: | + # git pull + # mkdocs gh-deploy From 36edb0d9720e25ee1ab6493047cc849d76a862d3 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 12:27:36 -0500 Subject: [PATCH 44/65] add github token --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f64f9831..84703f95 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,6 +10,9 @@ on: pull_request: branches: [master] +env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + jobs: build: name: Build and Deploy Documentation From 0a282f9c20c7e0f8d1456e2997fb19e1b4a6d76b Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 13:09:02 -0500 Subject: [PATCH 45/65] test permissions --- .github/workflows/main.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 84703f95..58382b77 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,6 +17,9 @@ jobs: build: name: Build and Deploy Documentation runs-on: ubuntu-latest + permissions: + contents: 'read' + id-token: 'write' steps: - name: Checkout Master uses: actions/checkout@v3 @@ -31,6 +34,10 @@ jobs: python -m pip install --upgrade pip pip install mkdocs-material + - name: Check + run: | + pwd + ls -la - name: Deploy uses: actions/deploy-pages@v1 # with: From a4fab901afc81ce1cbcf8ca156384d0b726d75b2 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 13:11:03 -0500 Subject: [PATCH 46/65] Correct syntax --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 58382b77..0fa04f3a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,8 +36,8 @@ jobs: - name: Check run: | - pwd - ls -la + pwd + ls -la - name: Deploy uses: actions/deploy-pages@v1 # with: From 8822fb0525bc30a2be2b43e0c7d9f91e24526d02 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 13:29:50 -0500 Subject: [PATCH 47/65] change depth --- .github/workflows/main.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0fa04f3a..4abcb8b7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,6 +23,16 @@ jobs: steps: - name: Checkout Master uses: actions/checkout@v3 + - uses: actions/checkout@v2 + if: github.event_name == 'pull_request' + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} + + - uses: actions/checkout@v3 + if: github.event_name == 'push' + with: + fetch-depth: 0 - name: Set up Python 3.7 uses: actions/setup-python@v2 @@ -39,9 +49,8 @@ jobs: pwd ls -la - name: Deploy - uses: actions/deploy-pages@v1 # with: - # branch: master # The branch the action should deploy to. - # run: | - # git pull - # mkdocs gh-deploy + # branch: master # The branch the action should deploy to. + run: | + git pull + mkdocs gh-deploy From 61653385b64fdf744200a408095154837786f5f7 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 13:31:35 -0500 Subject: [PATCH 48/65] syntax issue --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4abcb8b7..7037a0f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,15 +21,16 @@ jobs: contents: 'read' id-token: 'write' steps: - - name: Checkout Master + - name: Checkout Branch uses: actions/checkout@v3 - - uses: actions/checkout@v2 + if: github.event_name == 'pull_request' with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.ref }} - - uses: actions/checkout@v3 + - name: Checkout Master + uses: actions/checkout@v3 if: github.event_name == 'push' with: fetch-depth: 0 From 779e8900656bf6b240d7e3263a87f3326b38e303 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 13:34:58 -0500 Subject: [PATCH 49/65] syntax --- .github/workflows/main.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7037a0f3..1d30014c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,17 +23,16 @@ jobs: steps: - name: Checkout Branch uses: actions/checkout@v3 - - if: github.event_name == 'pull_request' - with: - fetch-depth: 0 - ref: ${{ github.event.pull_request.head.ref }} + if: github.event_name == 'pull_request' + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} - - name: Checkout Master - uses: actions/checkout@v3 - if: github.event_name == 'push' - with: - fetch-depth: 0 + - name: Checkout Master + uses: actions/checkout@v3 + if: github.event_name == 'push' + with: + fetch-depth: 0 - name: Set up Python 3.7 uses: actions/setup-python@v2 From 53a84d9340cfe7e35e9588bf4c951f86f6e40454 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 15:25:14 -0500 Subject: [PATCH 50/65] permissions --- .github/workflows/main.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1d30014c..fe0fffb7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,16 +13,20 @@ on: env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +permissions: + contents: 'read' + id-token: 'write' + pull-requests: 'write' jobs: build: name: Build and Deploy Documentation runs-on: ubuntu-latest - permissions: - contents: 'read' - id-token: 'write' + steps: - name: Checkout Branch uses: actions/checkout@v3 + with: + persist-credentials: false if: github.event_name == 'pull_request' with: fetch-depth: 0 @@ -30,6 +34,8 @@ jobs: - name: Checkout Master uses: actions/checkout@v3 + with: + persist-credentials: false if: github.event_name == 'push' with: fetch-depth: 0 @@ -43,6 +49,7 @@ jobs: run: | python -m pip install --upgrade pip pip install mkdocs-material + run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - name: Check run: | From 35525bcfae942a4baf92a497272e994c439d57c6 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 15:26:33 -0500 Subject: [PATCH 51/65] syntax --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fe0fffb7..44a0c98a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,8 +25,8 @@ jobs: steps: - name: Checkout Branch uses: actions/checkout@v3 - with: - persist-credentials: false + with: + persist-credentials: false if: github.event_name == 'pull_request' with: fetch-depth: 0 @@ -34,8 +34,8 @@ jobs: - name: Checkout Master uses: actions/checkout@v3 - with: - persist-credentials: false + with: + persist-credentials: false if: github.event_name == 'push' with: fetch-depth: 0 From adf35cb8fd45324e440b09a651fd82f272088150 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 15:28:29 -0500 Subject: [PATCH 52/65] syntax --- .github/workflows/main.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 44a0c98a..c8372666 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,20 +25,18 @@ jobs: steps: - name: Checkout Branch uses: actions/checkout@v3 - with: - persist-credentials: false if: github.event_name == 'pull_request' with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.ref }} + persist-credentials: false - name: Checkout Master uses: actions/checkout@v3 - with: - persist-credentials: false if: github.event_name == 'push' with: fetch-depth: 0 + persist-credentials: false - name: Set up Python 3.7 uses: actions/setup-python@v2 From 2d69ce65b1608da90a6335675aa85723c1cde666 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Mon, 18 Apr 2022 22:47:53 -0500 Subject: [PATCH 53/65] chg user --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c8372666..c99ec1d5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,7 @@ env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} permissions: - contents: 'read' + contents: 'write' id-token: 'write' pull-requests: 'write' jobs: @@ -33,6 +33,7 @@ jobs: - name: Checkout Master uses: actions/checkout@v3 + if: github.event_name == 'push' with: fetch-depth: 0 @@ -47,7 +48,7 @@ jobs: run: | python -m pip install --upgrade pip pip install mkdocs-material - run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' + git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - name: Check run: | From 266e883988aa6eab65ec1fa43b41de993fe0a5cf Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Tue, 19 Apr 2022 22:28:49 -0500 Subject: [PATCH 54/65] remove git commands --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c99ec1d5..00e8cc11 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -48,7 +48,7 @@ jobs: run: | python -m pip install --upgrade pip pip install mkdocs-material - git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' + # git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - name: Check run: | From 8b5fab842ed39e791dce4cca4ec75a0d43d72340 Mon Sep 17 00:00:00 2001 From: Richa Singh Date: Thu, 21 Apr 2022 09:35:29 -0500 Subject: [PATCH 55/65] Remove commented code --- .github/workflows/main.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 00e8cc11..efead2d0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,8 +5,6 @@ name: Build Documentation using MkDocs on: push: branches: [master] - paths: - - '**.yml' pull_request: branches: [master] @@ -48,15 +46,12 @@ jobs: run: | python -m pip install --upgrade pip pip install mkdocs-material - # git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - + - name: Check run: | pwd ls -la - name: Deploy - # with: - # branch: master # The branch the action should deploy to. run: | git pull mkdocs gh-deploy From 285a2a2671bc38a286503dc62a8b8f9006b38ef5 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Thu, 26 May 2022 11:44:52 -0500 Subject: [PATCH 56/65] updates to markdown content --- mkdocs.yml | 2 +- src/draw-for-squares-input-colors.py | 36 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/draw-for-squares-input-colors.py diff --git a/mkdocs.yml b/mkdocs.yml index 2a05bca5..0b1d4be1 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,7 +67,7 @@ nav: site_description: 'Resources for teaching Python to CoderDojo Twin Cities students.' site_author: 'Dan McCreary' -repo_name: 'python' +repo_name: 'GitHub Repo' repo_url: 'https://github.com/CoderDojoTC/python' # CoderDojo Standards from here down diff --git a/src/draw-for-squares-input-colors.py b/src/draw-for-squares-input-colors.py new file mode 100644 index 00000000..c52d21f0 --- /dev/null +++ b/src/draw-for-squares-input-colors.py @@ -0,0 +1,36 @@ +# J.E. Tannenbaum +# Released: 11/10/2021 - Initial release +# 11/10/2021 - Cleaned up and added comments +# https://trinket.io/python/94326b4743 + +import turtle # Load the library +jet = turtle.Turtle() # Create the turtle object and name it +jet.shape("turtle") # Set the shape + +def drawIt(color, distance, angle): + jet.color(color) + jet.begin_fill() + jet.forward(distance) + jet.right(angle) + jet.forward(distance) + jet.right(angle) + jet.forward(distance) + jet.right(angle) + jet.forward(distance) + jet.end_fill() + +# Set the distance and angle variables +distance = 40 +angle = 90 + +colors = [] +for i in range(4): + color = input("Enter a color:") + colors = colors + [color] + +for color in colors: + drawIt(color, distance, angle) + +# We are done, so hide the turtle +jet.hideturtle() + From 2fd07440e91de70c92d3fd224e7f266b19fe78c4 Mon Sep 17 00:00:00 2001 From: robertcrockett Date: Tue, 28 Jun 2022 15:33:35 -0400 Subject: [PATCH 57/65] Updated several spelling mistakes --- docs/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/index.md b/docs/index.md index 78afbb62..7dd08d13 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,30 +1,30 @@ # CoderDojo Twin Cities Python Resources -This GitHub repository is for sharing teaching resources to teach Python. This includes hints on getting your Python environments setup up and extensive lesson plans for serveral enviornments. +This GitHub repository is for sharing teaching resources to teach Python. This includes hints on getting your Python environments setup up and extensive lesson plans for several environments. -Our mentors have used several different envornments for teaching Python. They each have pros and cons. What our mentors like is getting new students started using a graphical programming environment such as turtle graphics libraries. Here are some of our favorite tools: +Our mentors have used several different environments for teaching Python. They each have pros and cons. What our mentors like is getting new students started using a graphical programming environment such as turtle graphics libraries. Here are some of our favorite tools: - [**Trinket.io**](http://trinket.io) is an easy-to use, kid friendly web-based turtle graphics for beginners. - [**Jupyter Notebooks**](https://jupyter.org/) also have some support for turtle graphics. Jupyter Notebooks can be tricky to setup for the first time, but they are the perfect on-ramp for teaching data literacy. - [**Raspberry Pi**](https://www.raspberrypi.org/documentation/usage/python/) - The Raspberry Pi foundation has selected Python as its primary tool for teaching programming. If you have a Raspberry Pi there are many resources for you. Trinket and Jupyter Notebooks will also run on many Raspberry Pi devices. - **Robots** Our students love robots. Python is also the preferred language in many robotics courses. Today we teach beginning robotics with Scratch and Arduino, but we continue to investigate systems like Raspberry Pi robots that can be programmed with Python. Let us know if you have any low-cost kid friendly ideas. We have tested the JetBot and other robots and we continue to look for solutions. -Now lets briefly go into the pros and cons of these systems. +Now let's briefly go into the pros and cons of these systems. ## Learning Python with Trinket -We use the [trinket.io](http://trinket.io) web site to teach our introduction to python. Trinket has a nice turtle graphics library which is ideal for fast visual feedback. Because it is a free and a pure web web based environment it meets the criteria for our courses. There is no complex setup and each student can continue to do development when they are at home. The downside of Trinket is it has limited functionality, only supports Python 2.X in the free version and you must have an internet connection to use Trinket. If you need Python 3.X web +We use the [trinket.io](http://trinket.io) web site to teach our introduction to python. Trinket has a nice turtle graphics library which is ideal for fast visual feedback. Because it is a free and a pure web-based environment it meets the criteria for our courses. There is no complex setup and each student can continue to do development when they are at home. The downside of Trinket is it has limited functionality, only supports Python 2.X in the free version and you must have an internet connection to use Trinket. If you need Python 3.X web version you can use the free [repl.id](https://repl.it/) web site. ## Learning Python with Jupyter Notebooks -You can also use Jupyter Notebooks to draw turtle graphics. The notebook will open a new window to draw your turtle graphis. Getting Jupyter Notebooks is a bit tricky to setup on many PCs. However, once it is setup it offers tens of thousands of sample programs to learn python coding. Jupyter Notebooks are also the preferred tool by many data science professionals. +You can also use Jupyter Notebooks to draw turtle graphics. The notebook will open a new window to draw your turtle graphics. Getting Jupyter Notebooks is a bit tricky to setup on many PCs. However, once it is setup it offers tens of thousands of sample programs to learn python coding. Jupyter Notebooks are also the preferred tool by many data science professionals. An example of a Jupyter Notebook that uses turtle graphs is [here](jupyter/draw-figure.ipynb) ## Learning Python with Raspberry Pi -If you have a Rasperry Pi there are many great ways to learn Python. One of first things is to try out one of the Python development environments for the Raspberry Pi. +If you have a Raspberry Pi there are many great ways to learn Python. One of first things is to try out one of the Python development environments for the Raspberry Pi. ## Learning Python with Robots -Right now we are continuing to try to find the right combination of easy-of-use and low-cost robots to teach python. If you hear of any good tools, please let us know. +Right now, we are continuing to try to find the right combination of easy-of-use and low-cost robots to teach python. If you hear of any good tools, please let us know. ## Target Audience Learning Python is ideal for students that have good keyboarding skills. If students have difficulty with doing functions like copy and pasting text we suggest they start with a block-programming language like Scratch. @@ -32,7 +32,7 @@ Learning Python is ideal for students that have good keyboarding skills. If stu ## List of Concepts Here are some of the concepts we will be learning in this course. If you are already familiar with these concepts you can skip over some of the labs. -- **importing libraries** We need to tell Pyhton what functions we want to use. We will use the import function to tell Python which functions we need to use in our programs. +- **importing libraries** We need to tell Python what functions we want to use. We will use the import function to tell Python which functions we need to use in our programs. - **drawing** Turtle graphs has a set of drawing functions. We will learn to use these to draw patterns on the screen. - **square walk** - teach your turtle to walk in a square and draw figures. - **variables** Variables make our programs easier to read and easier to understand. @@ -41,7 +41,7 @@ Here are some of the concepts we will be learning in this course. If you are al - **functions** Functions allow us to break large programs into chunks that we can give names and can call over and over. - **function parameters** Functions can also take parameters to change the behavior of a function. - **random numbers** Random number functions allow our programs to have the computer select new random number between a range of numbers. -- **lists** Lists alow us to create collections of names. +- **lists** Lists allow us to create collections of names. - **inputs** Inputs allow us to prompt the user for values. - **recursion** Recursion allows us to have programs call themselves to create repeating patterns. - **modules** Once you have a group of related functions you can put them all together into a module. This makes it easier for others to reuse your programs. From 328345f436235a9790325563816b4b3f299876eb Mon Sep 17 00:00:00 2001 From: robertcrockett Date: Wed, 29 Jun 2022 09:01:05 -0400 Subject: [PATCH 58/65] Updated several spelling mistakes --- docs/trinket/02-simple-square.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/trinket/02-simple-square.md b/docs/trinket/02-simple-square.md index 97e63a1a..170e9f4d 100644 --- a/docs/trinket/02-simple-square.md +++ b/docs/trinket/02-simple-square.md @@ -28,11 +28,11 @@ Here is a link to the Trinket web site with this program running: [https://trinket.io/python/564899ffe9](https://trinket.io/python/564899ffe9) You can click on this link and then press the Run button. You should see the python code on the left side and the drawing on the right side of your screen. -## Explaination +## Explanation The first three lines will be the same for all our programs. They import the turtle library into our program, create a new turtle object and then assign the turtle a shape icon. Although almost all the turtle libraries work this way, there are some minor differences you will see in future examples. -## Reorinenting your turtle -Note that at the start, the turtle is facing to the right. After the last instruction, it is also facing to the right. This is a common best practice so that the turtle gets reoriented after some drawing function. If you remove the last right(90) function and run the program again you will see the turtle ends up facing upward. But if you rerun the progam you will still get the same square because the orientation of the turtle is not stored between runs. +## Reorienting your turtle +Note that at the start, the turtle is facing to the right. After the last instruction, it is also facing to the right. This is a common best practice so that the turtle gets reoriented after some drawing function. If you remove the last right(90) function and run the program again you will see the turtle ends up facing upward. But if you rerun the program you will still get the same square because the orientation of the turtle is not stored between runs. ## Experiments Can you change the distance and angle the turtle moves? What happens when you change the numbers for the forward and right functions? Can you go left as well as right? From 6dfde45eebde26c64c93a0520d5b6d884a28e135 Mon Sep 17 00:00:00 2001 From: robertcrockett Date: Wed, 29 Jun 2022 09:52:06 -0400 Subject: [PATCH 59/65] Updated to reflect octagon shape. Several typos updated as well. --- docs/trinket/04-loops.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/trinket/04-loops.md b/docs/trinket/04-loops.md index bcd3022e..61f1e745 100644 --- a/docs/trinket/04-loops.md +++ b/docs/trinket/04-loops.md @@ -28,5 +28,5 @@ dan.write('done with square') ## Experiments 1. Can you make the turtle draw a larger square? Hint: change the distance to be 80. How big can you make the square before the turtle goes off the screen? 2. Can you make a hexagon? This is a figure with six sides. Hint: the angle will need to be 60 and the range limit will need to be 6. -3. Can you make a hexagon? A Hexagon has eight sides. Hints: Try using an angle of 45. -4. Can you make a stop sign? You will need to use a dan.color('red'). a dan.begomfill() and a dan.endfill(). You can add the text of the word "stop" by using dan.moveto(x,y) and dan.write("STOP",None,None, "30pt bold"). You can also use the dan.hideturtle() so that the outline of the turtle is not displayed at the end. See: https://www.youtube.com/watch?v=HhxYt9Lskrw +3. Can you make an octagon? An Octagon has eight sides. Hints: Try using an angle of 45. +4. Can you make a stop sign? You will need to use a dan.color('red'). a dan.beginfill() and a dan.endfill(). You can add the text of the word "stop" by using dan.moveto(x,y) and dan.write("STOP",None,None, "30pt bold"). You can also use the dan.hideturtle() so that the outline of the turtle is not displayed at the end. See: https://www.youtube.com/watch?v=HhxYt9Lskrw From f21cde71afe9f55c44b0f4fc04b0699694c8cff6 Mon Sep 17 00:00:00 2001 From: robertcrockett Date: Wed, 29 Jun 2022 09:55:42 -0400 Subject: [PATCH 60/65] Used markdown to explicitly make youtube link a link --- docs/trinket/04-loops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/trinket/04-loops.md b/docs/trinket/04-loops.md index 61f1e745..41bd796c 100644 --- a/docs/trinket/04-loops.md +++ b/docs/trinket/04-loops.md @@ -29,4 +29,4 @@ dan.write('done with square') 1. Can you make the turtle draw a larger square? Hint: change the distance to be 80. How big can you make the square before the turtle goes off the screen? 2. Can you make a hexagon? This is a figure with six sides. Hint: the angle will need to be 60 and the range limit will need to be 6. 3. Can you make an octagon? An Octagon has eight sides. Hints: Try using an angle of 45. -4. Can you make a stop sign? You will need to use a dan.color('red'). a dan.beginfill() and a dan.endfill(). You can add the text of the word "stop" by using dan.moveto(x,y) and dan.write("STOP",None,None, "30pt bold"). You can also use the dan.hideturtle() so that the outline of the turtle is not displayed at the end. See: https://www.youtube.com/watch?v=HhxYt9Lskrw +4. Can you make a stop sign? You will need to use a dan.color('red'). a dan.beginfill() and a dan.endfill(). You can add the text of the word "stop" by using dan.moveto(x,y) and dan.write("STOP",None,None, "30pt bold"). You can also use the dan.hideturtle() so that the outline of the turtle is not displayed at the end. See: [Python Stop Sign Tutorial](https://www.youtube.com/watch?v=HhxYt9Lskrw) From a081f2e0491ab211bd72bbb1d841fc9bf0897ac0 Mon Sep 17 00:00:00 2001 From: robertcrockett Date: Wed, 29 Jun 2022 10:10:49 -0400 Subject: [PATCH 61/65] Addressed python tabbing. Corrected several spelling issues. --- docs/trinket/05-conditionals.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/trinket/05-conditionals.md b/docs/trinket/05-conditionals.md index 0a316525..02c5eff8 100644 --- a/docs/trinket/05-conditionals.md +++ b/docs/trinket/05-conditionals.md @@ -10,7 +10,7 @@ Here is the basic syntax of the Python conditional operator. ```py if (i > 2): # do something if i is greater than 2 - else: +else: # do something else when i is exactly 2 or less than 2 ``` @@ -26,7 +26,7 @@ distance = 100 angle = 90 for i in range(1, 5): - # i modulo 2 is the remainer after we divide by 2 + # i modulo 2 is the remainder after we divide by 2 dan.write(i, font=("arial", 16, "normal")) if i > 2: # true if i greater than 2 dan.color('red') @@ -47,7 +47,7 @@ We would like every other side to change color. To do this we will add an if-th i % 2 ``` -In our previous loop lesson, we created an index that started at 1 and then changed to 2, 3 and finally 4. For 1 and 3, the first and third edges the result of divid by 2 will return 1 which is the same as TRUE. For 2 and 4 (the vertical sides of the square), the expression will evaluate to 0 since the remainder of 2/2 and 4/2 is zero. +In our previous loop lesson, we created an index that started at 1 and then changed to 2, 3 and finally 4. For 1 and 3, the first and third edges the result of divide by 2 will return 1 which is the same as TRUE. For 2 and 4 (the vertical sides of the square), the expression will evaluate to 0 since the remainder of 2/2 and 4/2 is zero. ```py import turtle @@ -69,7 +69,7 @@ for i in range(4): dan.write('done with square') ``` -[Conditinal Sqare](https://trinket.io/library/trinkets/5b18dc55c6) +[Conditional Square](https://trinket.io/library/trinkets/5b18dc55c6) Can you make the turtle use a larger pen size? Try dan.pensize(10) for the red and dan.pensize(3) for the blue. From 2273305674d6c860353c7d72c4a6ebd46d39e2c7 Mon Sep 17 00:00:00 2001 From: Dan McCreary Date: Thu, 3 Nov 2022 13:28:17 -0500 Subject: [PATCH 62/65] updates to markdown content --- docs/img/stop-sign.png | Bin 0 -> 9647 bytes docs/trinket/04a-stop-sign.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 docs/img/stop-sign.png diff --git a/docs/img/stop-sign.png b/docs/img/stop-sign.png new file mode 100644 index 0000000000000000000000000000000000000000..504458ea5cecfa6f271aeb5990c230285da3e618 GIT binary patch literal 9647 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 R!+*n4a?;9>T1k_j{{wb}4^sdD literal 0 HcmV?d00001 diff --git a/docs/trinket/04a-stop-sign.md b/docs/trinket/04a-stop-sign.md index ae2f13d8..76511db6 100644 --- a/docs/trinket/04a-stop-sign.md +++ b/docs/trinket/04a-stop-sign.md @@ -1,5 +1,7 @@ # Python Turtle Graphics Stop Sign +![](../img/stop-sign.png) + In this lesson, we will use variables and for loop to draw a stop sign. We will also show how to use the penup, pendown, color, begin_fill, end_fill and write functions. Our write function will also change the font size using the ```font=("Arial", 30, "normal")``` parameter. From 47ebaf093f30fc0c6b082e62cb353332909faeae Mon Sep 17 00:00:00 2001 From: dmccreary Date: Fri, 14 Apr 2023 23:17:58 -0500 Subject: [PATCH 63/65] updated content --- mkdocs.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 65741107..5df4b057 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -92,4 +92,10 @@ markdown_extensions: permalink: true plugins: - search +# Google Analytics Site ID: G-EP38Z3PVD5 +extra: + analytics: + provider: google + # https://analytics.google.com/analytics/web/#/p368752593/reports/intelligenthome + property: G-EP38Z3PVD5 From 8cbfdd5e8aab9b4643b2942c9c585c638c0a78e1 Mon Sep 17 00:00:00 2001 From: Dan Mccreary Date: Thu, 12 Sep 2024 16:23:26 -0500 Subject: [PATCH 64/65] updating content --- docs/strategy/index.md | 5 ++ docs/strategy/oder-of-concepts.md | 123 ++++++++++++++++++++++++++++++ mkdocs.yml | 4 +- 3 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 docs/strategy/index.md create mode 100644 docs/strategy/oder-of-concepts.md diff --git a/docs/strategy/index.md b/docs/strategy/index.md new file mode 100644 index 00000000..19f9a5e3 --- /dev/null +++ b/docs/strategy/index.md @@ -0,0 +1,5 @@ +# Teaching Strategies + +## Order of Concepts + +[Order of Concepts](oder-of-concepts.md) \ No newline at end of file diff --git a/docs/strategy/oder-of-concepts.md b/docs/strategy/oder-of-concepts.md new file mode 100644 index 00000000..bb443658 --- /dev/null +++ b/docs/strategy/oder-of-concepts.md @@ -0,0 +1,123 @@ +# Order of Concepts + +## Intro + +What is the role of visual feedback in teaching beginning Python? + +## No Visual Feedback + + +``` +What are the key concepts in learning Python for a 9th +grade student in the US? List the concepts in the order +they should be taught and add justification for ordering. +``` + +1. Introduction to Programming and Python + +Justification: Begin by explaining what programming is and how it allows us to communicate instructions to a computer. Introducing Python's simplicity and readability sets a positive tone for beginners. +2. Setting Up the Development Environment + +Justification: Before coding, students need to install Python and set up an Integrated Development Environment (IDE) or use an online coding platform. This ensures they're ready to practice coding examples. +3. Basic Syntax and Output with print() + +Justification: Learning how to display information is fundamental. The print() function is simple and provides immediate visual feedback, which is motivating for new learners. +4. Variables and Data Types + +Justification: Variables store information that programs manipulate. Understanding data types like integers, floats, strings, and booleans is essential for handling different kinds of data. +5. Basic Operators and Expressions + +Justification: Operators allow students to perform calculations and manipulate data. This includes arithmetic operators (+, -, *, /) and logical operators (and, or, not). +6. User Input with input() + +Justification: Allowing programs to accept user input makes them interactive. Learning to use the input() function helps students understand how to receive and process external data. +7. Conditional Statements (if, elif, else) + +Justification: Conditionals introduce decision-making in programs. They allow the code to execute different actions based on certain conditions, which is critical for dynamic programming. +8. Loops (for and while Loops) + +Justification: Loops enable code to be executed repeatedly without redundancy. Understanding loops is key for tasks that require iteration, like processing items in a list. +9. Lists and Basic Data Structures + +Justification: Lists store collections of items. Introducing lists teaches students how to handle multiple pieces of data efficiently. +10. Functions and Modular Programming - Justification: Functions promote code reusability and better organization. Learning to write functions helps students break down complex problems into manageable pieces. + +11. Introduction to Modules and Libraries - Justification: Python's strength lies in its extensive libraries. Teaching how to import and use modules like math or random expands the functionality available to students. + +12. Basic File Input/Output - Justification: Reading from and writing to files allows programs to handle data persistence. This is important for applications that need to save or load data. + +13. Error Handling with try and except - Justification: Errors are inevitable in programming. Learning to handle exceptions makes programs more robust and helps students debug their code effectively. + +14. Dictionaries and Sets - Justification: These data structures are useful for storing data in key-value pairs (dictionaries) and for handling unique items (sets). They broaden the ways students can manage data. + +15. Introduction to Object-Oriented Programming (OOP) - Justification: OOP introduces classes and objects, allowing for more complex and scalable code. A basic introduction prepares students for advanced programming concepts. + +16. Developing a Simple Project - Justification: Applying learned concepts in a project reinforces understanding. It provides practical experience and a sense of accomplishment. + +17. Review and Next Steps - Justification: Reviewing consolidates knowledge. Discussing next steps keeps students motivated to continue learning, possibly introducing topics like web development or data science with Python. + +By following this progression, students build a strong foundation in Python programming. Each concept builds upon the previous ones, ensuring a smooth learning curve tailored for 9th-grade students. + + +## With Visual Feedback + +``` +Now assume that all students have access to the +trinket.io website that allows students to learn +using turtle graphics to get fast visual feedback. +Generate a list of the key Python concepts and the +order they should be taught. +``` + +1. Introduction to Programming and Python + +Justification: Start by explaining what programming is and introduce Python as an accessible language for beginners due to its readability and simplicity. +2. Setting Up the Development Environment on Trinket.io + +Justification: Guide students on how to use Trinket.io for writing and running Python code, specifically leveraging its support for turtle graphics to provide immediate visual feedback. +3. Introduction to Turtle Graphics + +Justification: Begin coding with turtle graphics to engage students visually. Drawing simple shapes helps them understand basic programming concepts in an enjoyable way. +4. Basic Syntax and Turtle Commands + +Justification: Teach fundamental Python syntax through turtle commands like forward(), backward(), left(), and right(), which illustrate function calls and parameters. +5. Variables and Data Types + +Justification: Introduce variables to store values that control turtle movements (e.g., distances, angles). Cover basic data types like integers and floats in this context. +6. Loops with Turtle Graphics (for and while Loops) + +Justification: Use loops to create patterns and complex shapes, demonstrating iteration in a visually engaging manner. +7. Functions and Code Reusability + +Justification: Teach how to define functions to encapsulate code for drawing specific shapes or patterns, promoting modular programming and code reuse. +8. Conditional Statements (if, elif, else) + +Justification: Introduce decision-making by changing turtle behavior based on conditions (e.g., drawing different shapes based on user input). +9. User Input with input() + +Justification: Make programs interactive by allowing users to influence turtle drawings, enhancing engagement and understanding of input handling. +10. Lists and Data Collections - Justification: Teach lists by storing sequences of colors, movements, or shapes for the turtle to use, illustrating how to manage collections of data. + +11. Randomness and the random Module - Justification: Use the random module to add unpredictability to turtle drawings, making programs more dynamic and fun. + +12. Advanced Turtle Graphics Techniques - Justification: Explore advanced features like setting pen size, colors, filling shapes, and using loops to create intricate designs. + +13. Error Handling with try and except - Justification: Introduce error handling to make programs more robust, especially when dealing with user input that affects turtle actions. + +14. Introduction to Object-Oriented Programming Concepts - Justification: Provide a basic understanding of objects and classes by explaining that the turtle itself is an object with methods and attributes. + +15. Basic File Input/Output (Optional based on Trinket.io capabilities) - Justification: If supported, teach how to read from and write to files to save or load data that influences turtle drawings. + +16. Developing a Comprehensive Turtle Graphics Project - Justification: Apply all learned concepts in a final project where students create their own complex drawing or simple animation, reinforcing their skills and creativity. + +17. Review and Next Steps - Justification: Summarize the key concepts covered and discuss how these skills can be applied to other areas of Python programming, encouraging continued learning. + +By incorporating turtle graphics early and throughout the curriculum, students benefit from immediate visual feedback that enhances understanding and keeps them engaged. This progression builds foundational Python skills while leveraging the interactive capabilities of Trinket.io, providing a tailored and effective learning experience for 9th-grade students. + + + + + + + +``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 793dd168..eac9e91f 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -59,7 +59,9 @@ nav: - Advanced Python: - Stock Ticker Analysis: advanced/stocks.md - MNIST Digit Prediction: advanced/mnist.md - + - Strategy: + - Introduction: strategy/index.md + - Order of Concepts: order-of-cocepts.,d - Contributing: - How to Contribute Examples: contribute.md - Contact: From 59d754ffd591c8b3f2108dfb8a12f75b70bb03b8 Mon Sep 17 00:00:00 2001 From: Dan Mccreary Date: Thu, 12 Sep 2024 16:23:56 -0500 Subject: [PATCH 65/65] updating content --- docs/strategy/{oder-of-concepts.md => order-of-concepts.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/strategy/{oder-of-concepts.md => order-of-concepts.md} (100%) diff --git a/docs/strategy/oder-of-concepts.md b/docs/strategy/order-of-concepts.md similarity index 100% rename from docs/strategy/oder-of-concepts.md rename to docs/strategy/order-of-concepts.md