variables & assignment - cornell university · 2018-12-10 · 8/27/18 variables &...
TRANSCRIPT
![Page 1: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/1.jpg)
Variables & Assignment
Lecture 2
![Page 2: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/2.jpg)
Announcements for Today
If Not Done Already
• Enroll in Piazza
• Sign into CMS§ Fill out the Survey§ Complete AI Quiz
• (Optional) textbook§ Chapter 1 (browse)§ Chapter 2 (in detail)
Lab 1
• Please stay in your section§ If you drop, you are stuck§ E-mail conflicts to Jenna§ [email protected]§ Will review by next week
• Have one week to complete§ Complete in online system§ Show at start of next lab
• But finish Lab 0 TODAY
8/27/18 Variables & Assignments 2
![Page 3: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/3.jpg)
Helping You Succeed in this Class
• Consultants. ACCEL Lab Green Room§ Daily office hours (see website) with consultants§ Very useful when working on assignments
• AEW Workshops. Additional discussion course§ Runs parallel to this class – completely optional§ See website; talk to advisors in Olin 167.
• Piazza. Online forum to ask and answer questions§ Go here first before sending question in e-mail
• Office Hours. Talk to the professor!§ Available outside Call Auditorium between lectures
8/27/18 Variables & Assignments 3
![Page 4: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/4.jpg)
Labs vs. Assignments
Labs
• Held every week• Graded on completeness
§ Always S/U§ Try again if not finished
• Indirect affect on grade§ Can miss up to 2 labs§ After that, grade reduced
• Similar to language drills§ Simple, but take time
Assignments
• Every two weeks§ First one due Sep. 18
• Graded on correctness§ Assign points out of 100
• But first one is for mastery§ Resubmit until perfect grade
• 40% of your final grade• Designed to be more fun
§ Graphics, game design
8/27/18 Variables & Assignments 4
![Page 5: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/5.jpg)
ACCEL Labs
8/27/18 Variables & Assignments 5
• Enter from front• Walk to staircase on left• Go up the stairs
![Page 6: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/6.jpg)
Academic Integrity
• Every semester we have cases of plagiarism§ Claiming the work of others as your own§ This is an Academic Integrity violation
• The policy this year has changed!§ Do not listen to (non-staff) upperclassmen§ Look at the course website for the new details
• Complete Academic Integrity Quiz on CMS§ Must complete successfully to stay in class
8/27/18 Variables & Assignments 6
![Page 7: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/7.jpg)
iClickers
• Have you registered your iclicker?• If not, visit
§ http://atcsupport.cit.cornell.edu/pollsrvc/
• Instructions on iClickers can be found here:§ http://pollinghelp.cit.cornell.edu/iclicker-basics/§ Find these links on the course webpage§ Click �Texts/iClickers�§ Look under “iClickers”
8/27/18 Variables & Assignments 7
![Page 8: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/8.jpg)
Warm-Up: Using Python
• How do you plan to use Python?
A. I want to work mainly in the ACCEL labB. I want to use my own Windows computerC. I want to use my own Macintosh computerD. I want to use my own Linux computerE. I will use whatever I can get my hands on
8/27/18 Variables & Assignments 8
![Page 9: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/9.jpg)
Type: Set of values and the operations on them
• Type int:§ Values: integers § Ops: +, –, *, //, %, **
• Type float:§ Values: real numbers§ Ops: +, –, *, /, **
• Type bool:§ Values: True and False§ Ops: not, and, or
• Type str:§ Values: string literals
• Double quotes: "abc"• Single quotes: 'abc'
§ Ops: + (concatenation)
Will see more types in a few weeks
8/27/18 Variables & Assignments 9
![Page 10: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/10.jpg)
Converting Values Between Types
• Basic form: type(value)§ float(2) converts value 2 to type float (value now 2.0)§ int(2.6) converts value 2.6 to type int (value now 2)§ Explicit conversion is also called “casting”
• Narrow to wide: bool ⇒ int ⇒ float• Widening. Python does automatically if needed
§ Example: 1/2.0 evaluates to 0.5 (casts 1 to float)• Narrowing. Python never does this automatically
§ Narrowing conversions cause information to be lost§ Example: float(int(2.6)) evaluates to 2.0
8/27/18 Variables & Assignments 10
![Page 11: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/11.jpg)
Operator Precedence
• What is the difference between the following?§ 2*(1+3)§ 2*1 + 3
• Operations are performed in a set order§ Parentheses make the order explicit§ What happens when there are no parentheses?
• Operator Precedence: The fixed order Python processes operators in absence of parentheses
8/27/18 Variables & Assignments 11
![Page 12: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/12.jpg)
Operator Precedence
• What is the difference between the following?§ 2*(1+3)§ 2*1 + 3
• Operations are performed in a set order§ Parentheses make the order explicit§ What happens when there are no parentheses?
• Operator Precedence: The fixed order Python processes operators in absence of parentheses
add, then multiply
multiply, then add
8/27/18 Variables & Assignments 12
![Page 13: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/13.jpg)
Precedence of Python Operators• Exponentiation: **
• Unary operators: + –
• Binary arithmetic: * / %
• Binary arithmetic: + –
• Comparisons: < > <= >=
• Equality relations: == !=
• Logical not
• Logical and
• Logical or
• Precedence goes downwards§ Parentheses highest§ Logical ops lowest
• Same line = same precedence§ Read “ties” left to right§ Example: 1/2*3 is (1/2)*3
• Section 2.7 in your text
• See website for more info
• Was major portion of Lab 1
8/27/18 Variables & Assignments 13
![Page 14: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/14.jpg)
Expressions vs Statements
Expression
• Represents something§ Python evaluates it§ End result is a value
• Examples:§ 2.3§ (3+5)/4
Statement
• Does something§ Python executes it§ Need not result in a value
• Examples:§ print('Hello')§ import sys
Will see later this is not a clear cut separation
Value
Complex Expression
8/27/18 Variables & Assignments 14
![Page 15: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/15.jpg)
Variables (Section 2.1)
• A variable§ is a named memory location (box)§ contains a value (in the box)§ can be used in expressions
• Examples:
8/27/18 Variables & Assignments 15
5x Variable x, with value 5 (of type int)
20.1area Variable area, w/ value 20.1 (of type float)
Variable names must start with a letter (or _).
![Page 16: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/16.jpg)
Variables (Section 2.1)
• A variable§ is a named memory location (box)§ contains a value (in the box)§ can be used in expressions
• Examples:
8/27/18 Variables & Assignments 16
5x Variable x, with value 5 (of type int)
20.1area Variable area, w/ value 20.1 (of type float)
Variable names must start with a letter (or _).
The type belongs to the value, not to the variable.
![Page 17: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/17.jpg)
Variables (Section 2.1)
• A variable§ is a named memory location (box)§ contains a value (in the box)§ can be used in expressions
• Examples:
5x Variable x, with value 5 (of type int)
20.1area Variable area, w/ value 20.1 (of type float)
Variable names must start with a letter (or _).
The type belongs to the value, not to the variable.
The value in the box is then used in evaluating the expression.
8/27/18 Variables & Assignments 17
![Page 18: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/18.jpg)
Variables (Section 2.1)
• A variable§ is a named memory location (box)§ contains a value (in the box)§ can be used in expressions
• Examples:
5x Variable x, with value 5 (of type int)
20.1area Variable area, w/ value 20.1 (of type float)
Variable names must start with a letter (or _).
The type belongs to the value, not to the variable.
The value in the box is then used in evaluating the expression.
8/27/18 Variables & Assignments 18
1e2 is a float, but e2 is a variable name
![Page 19: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/19.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2 Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
![Page 20: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/20.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2 Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
the value
the variable
![Page 21: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/21.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2
x
Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
the value
the variable
![Page 22: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/22.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2
x 5
Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
the value
the variable
![Page 23: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/23.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2
the value
the variable
the expression
the variable
x 5
Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
![Page 24: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/24.jpg)
Variables and Assignment Statements
• Variables are created by assignment statements§ Create a new variable name and give it a value
x = 5
• This is a statement, not an expression§ Tells the computer to DO something (not give a value)§ Typing it into >>> gets no response (but it is working)
• Assignment statements can have expressions in them§ These expressions can even have variables in them
x = x + 2
x 5
Two steps to execute an assignment:1. evaluate the expression on the right2. store the result in the variable on the left
“gets”the value
the variable
the expression
the variable
![Page 25: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/25.jpg)
Execute the Statement: x = x + 2
• Draw variable x on piece of paper:5x
8/27/18 Variables & Assignments 25
![Page 26: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/26.jpg)
Execute the Statement: x = x + 2
• Draw variable x on piece of paper:
• Step 1: evaluate the expression x + 2§ For x, use the value in variable x§ Write the expression somewhere on your paper
5x
8/27/18 Variables & Assignments 26
![Page 27: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/27.jpg)
Execute the Statement: x = x + 2
• Draw variable x on piece of paper:
• Step 1: evaluate the expression x + 2§ For x, use the value in variable x§ Write the expression somewhere on your paper
• Step 2: Store the value of the expression in x§ Cross off the old value in the box§ Write the new value in the box for x
5x
8/27/18 Variables & Assignments 27
![Page 28: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/28.jpg)
Execute the Statement: x = x + 2
• Draw variable x on piece of paper:
• Step 1: evaluate the expression x + 2§ For x, use the value in variable x§ Write the expression somewhere on your paper
• Step 2: Store the value of the expression in x§ Cross off the old value in the box§ Write the new value in the box for x
• Check to see whether you did the same thing as your neighbor, discuss it if you did something different.
5x
8/27/18 Variables & Assignments 28
![Page 29: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/29.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 29
C: D:
¯\_(�)_/¯
5x 7x 5x
5x x
7x
7x
![Page 30: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/30.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 30
C:
5x 7x 5x
5x x
7x
7x
�
x = x + 2
![Page 31: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/31.jpg)
Execute the Statement: x = 3.0 * x + 1.0
• You have this:5x 7
8/27/18 Variables & Assignments 31
x
![Page 32: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/32.jpg)
Execute the Statement: x = 3.0 * x + 1.0
• You have this:
• Execute this command:§ Step 1: Evaluate the expression 3.0 * x + 1.0§ Step 2: Store its value in x
5x 7
8/27/18 Variables & Assignments 32
x
![Page 33: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/33.jpg)
Execute the Statement: x = 3.0 * x + 1.0
• You have this:
• Execute this command:§ Step 1: Evaluate the expression 3.0 * x + 1.0§ Step 2: Store its value in x
• Check to see whether you did the same thing as your neighbor, discuss it if you did something different.
5x 7
8/27/18 Variables & Assignments 33
x
![Page 34: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/34.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 34
C: D:
¯\_(�)_/¯
5x 7x 5x
5x x
22.0x
22.0x
22.0x 7x
7x
![Page 35: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/35.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 35
C:
5x 7x 5x
5x x
22.0x
22.0x
22.0x 7x
7x
�
x = 3.0 * x + 1.0
![Page 36: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/36.jpg)
Execute the Statement: x = 3.0 * x + 1.0
• You now have this:
• The command:§ Step 1: Evaluate the expression 3.0 * x + 1.0§ Step 2: Store its value in x
• This is how you execute an assignment statement§ Performing it is called executing the command§ Command requires both evaluate AND store to be correct§ Important mental model for understanding Python
5x 7 22.0
8/27/18 Variables & Assignments 36
xx
![Page 37: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/37.jpg)
Exercise: Understanding Assignment
• Add another variable, interestRate, to get this:
• Execute this assignment:
interestRate = x / interestRate• Check to see whether you did the same thing as your
neighbor, discuss it if you did something different.
4interestRate5x 7 22.0
8/27/18 Variables & Assignments 37
xx
![Page 38: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/38.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 38
C: D:
4interestRate
5x 7 22.0xx 5.5x5.5x 4interestRate
5x 7 22.0xxx
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xx5x
5.5interestRate
![Page 39: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/39.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 39
C: D:
4interestRate
5x 7 22.0xx 5.5x5.5x 4interestRate
5x 7 22.0xxx
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xx5x
5.5interestRateE:
¯\_(�)_/¯
![Page 40: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/40.jpg)
Which One is Closest to Your Answer?
B:
8/27/18 Variables & Assignments 40
C: D:
4interestRate
5x 7 22.0xxx
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xx5x
5.5interestRate
�
interestRate = x/interestRate
![Page 41: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/41.jpg)
Exercise: Understanding Assignment
• You now have this:
• Execute this assignment:
intrestRate = x + interestRate• Check to see whether you did the same thing as your
neighbor, discuss it if you did something different.
4interestRate 5.55x 7 22.0
8/27/18 Variables & Assignments 41
xx x
![Page 42: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/42.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 42
C: D:
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xxx
interestRate
5x 7 22.0xxinterestRate
5x 7 22.0xx
27.5intrestRate
5.5
4x 5.5
27.5intrestRate
x
27.5x
4 5.5x27.5x
![Page 43: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/43.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 43
C: D:
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xxx
interestRate
5x 7 22.0xxinterestRate
5x 7 22.0xx
27.5intrestRate
5.5
4x 5.5
27.5intrestRate
x
27.5x
4 5.5x27.5x
E:
¯\_(�)_/¯
![Page 44: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/44.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 44
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xxx
27.5intrestRate
5.527.5x�
intrestRate = x + interestRatee
![Page 45: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/45.jpg)
Which One is Closest to Your Answer?
A: B:
8/27/18 Variables & Assignments 45
4interestRate
5x 7 22.0xx5.5x 4interestRate
5x 7 22.0xxx
27.5intrestRate
5.527.5x�
intrestRate = x + interestRatee
Spelling mistakes in Python are bad!!
![Page 46: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/46.jpg)
Dynamic Typing
• Python is a dynamically typed language§ Variables can hold values of any type§ Variables can hold different types at different times§ Use type(x) to find out the type of the value in x§ Use names of types for conversion, comparison
• The following is acceptable in Python:>>> x = 1 >>> x = x / 2.0
• Alternative is a statically typed language (e.g. Java)§ Each variable restricted to values of just one type
type(x) == intx = float(x)type(x) == float
8/27/18 Variables & Assignments 46
![Page 47: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/47.jpg)
Dynamic Typing
• Python is a dynamically typed language§ Variables can hold values of any type§ Variables can hold different types at different times§ Use type(x) to find out the type of the value in x§ Use names of types for conversion, comparison
• The following is acceptable in Python:>>> x = 1 >>> x = x / 2.0
• Alternative is a statically typed language (e.g. Java)§ Each variable restricted to values of just one type
ç x contains an int value ç x now contains a float value
type(x) == intx = float(x)type(x) == float
8/27/18 Variables & Assignments 47
![Page 48: Variables & Assignment - Cornell University · 2018-12-10 · 8/27/18 Variables & Assignments 4. ACCEL Labs 8/27/18 Variables & Assignments 5 •Enter from front •Walk to staircase](https://reader034.vdocuments.us/reader034/viewer/2022050406/5f833f766f029600546ffc3a/html5/thumbnails/48.jpg)
Dynamic Typing
• Often want to track the type in a variable§ What is the result of evaluating x / y?§ Depends on whether x, y are int or float values
• Use expression type(<expression>) to get type§ type(2) evaluates to <type 'int'>§ type(x) evaluates to type of contents of x
• Can use in a boolean expression to test type§ type('abc') == str evaluates to True
8/27/18 Variables & Assignments 48