Data Types, Turtle Drawing, and Functions
Welcome to the first day of class!
Reading
Key ideas
From chapter 2:
- Simple python types:
int
(eger),float
,str
(ing) - Determing type:
type
- Declaring and using variables
- Assignment token:
=
- Arithmetic operators:
+
,-
,*
,/
,//
,%
,**
- User input:
input
From chapter 4:
- Turtle Module Methods
- Creation:
turtle
- Movement:
forward
,backward
,goto
- x, y orientation:
right
,left
- Pen control:
up
,down
,pensize
- Drawing Color:
color
,fillcolor
,begin_fill
,end_fill
- Status:
heading
,position
- Turtle type:
shape
, e.g. arrow, classic, turtle or circle - Turtle Imprints: stamp, dot
- Creation:
- Looping Construct: for
- onclick(), onrelease(), ondrag() from turtle online documentation
From chapter 6:
- Be able to write a function.
- Be able to call a function.
- Understand function parameters.
- Understand the difference between a fruitful function and a non-fruitful function.
- Understand the difference between a local variable and a global variable.
Active learning
Activity 1
Evaluate the following numerical expressions:
5 ** 2
9 * 5
15 / 12
12 / 15
15 // 12
12 // 15
5 % 2
9 % 5
15 % 12
12 % 15
6 % 6
0 % 7
Activity 2
Download madlib.py and modify it to create your own story. Your modified Mad Lib should use (1) at least one input that is treated as a string, (2) at least one input that is treated as an integer and (3) at least one input that is treated as a floating point number.
Activity 3
Look at racing-turtles.py and make sure that you understand it fully. Then,
- Modify the program so that a third racing turtle starts at coordinate (-200, -100).
- Write down three other improvements to the program.
- Find someone to discuss your proposed improvements with.
- Implement at least one of your proposed improvements.
Activity 4
Look at etch-a-sketch.py and make sure that you understand it fully.
- Write down three improvements you could make to the program.
- Find someone to discuss your proposed improvements with.
- Implement at least one of your proposed improvements.
Activity 5
Which of the following best reflects the order in which these lines of code are processed in Python?
1 def pow(b, p):
2 y = b ** p
3 return y
4
5 def square(x):
6 a = pow(x, 2)
7 return a
8
9 n = 5
10 result = square(n)
11 print(result)
What does the program print?
Activity 6
Improve house.py using functions.