Variables & Assignment
Lecture 2
CS 1110:
Introduction to Computing Using Python
[Andersen, Gries, Lee, Marschner, Van Loan, White]
Variables & Assignment [Andersen, Gries, Lee, Marschner, Van - - PowerPoint PPT Presentation
CS 1110: Introduction to Computing Using Python Lecture 2 Variables & Assignment [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements We want to understand what lab sections are in demand. NO PROMISES. If you are
Lecture 2
Introduction to Computing Using Python
[Andersen, Gries, Lee, Marschner, Van Loan, White]
Announcements
1/31/17 Variables & Assignments 2
Course Website
1/26/17 Overview, Types & Expressions 3
Things to Do Before Next Class
Read Textbook
Lab 1
to the day before your lab, or:
minutes of next week’s lab
1/31/17 Variables & Assignments 4
Helping You Succeed in this Class
1/31/17 Variables & Assignments 5
From last time: Types
Type: set of values and the operations on them
1/31/17 Variables & Assignments 8
Converting From One Type To Another
1/31/17 Variables & Assignments 9
Implicit (Automatic) Conversions
narrowing or widening
1/31/17 Variables & Assignments 10
Variable “width”
1/31/17 Variables & Assignments 11
information lost seems ok
Widening Conversion
1/31/17 Variables & Assignments 12
Narrowing Conversion
1/31/17 Variables & Assignments 13
Operator Precedence
processes operators in absence of parentheses
1/31/17 Variables & Assignments 14
add, then multiply multiply, then add
Precedence of Python Operators
1/31/17 Variables & Assignments 15
Operators and Type Conversions
Evaluate this Expression:
False + 1 + 3.0 / 3
B. 3.0
Operator Precedence
1/31/17 Variables & Assignments 16
Operators and Type Conversions
Evaluate this Expression:
False + 1 + 3.0 / 3 False + 1 + 1.0 1 + 1.0 2.0
Operator Precedence
1/31/17 Variables & Assignments 17
New Tool: Variable Assignment
stores it in a variable
1/31/17 Variables & Assignments 18
variable value equals sign (just one!)
Executing Assignment Statements
>>> x = 5 >>>
1/31/17 Variables & Assignments 19
Press ENTER and… Hm, looks like nothing happened… 5 x
memory location stored value
Retrieving Variables
>>> x = 5 >>>
1/31/17 Variables & Assignments 20
Retrieving Variables
>>> x = 5 >>> x 5 >>>
1/31/17 Variables & Assignments 21
Press ENTER and… Python tells me the stored value
In More Detail: Variables (Section 2.1)
1/31/17 Variables & Assignments 22
5 x
Variable x, with value 5 (of type int)
20.1 area
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.
1e2 is a float, but e2 is a variable name
In More Detail: Statements
>>> x = 5 >>>
1/31/17 Variables & Assignments 23
Press ENTER and… Hm, looks like nothing happened…
Expressions vs. Statements
Expression
Statement
Value Complex Expression
1/31/17 Variables & Assignments 24
Variables in Expressions
>>> x = 5 >>> x 5 >>>
1/31/17 Variables & Assignments 25
This is an expression So Python evaluates it
Variables in Expressions
>>> x = 5 >>> x 5 >>> x + 5 10 >>>
1/31/17 Variables & Assignments 26
This is an expression So Python evaluates it
Variables in Expressions
>>> x = 5 >>> x 5 >>> x + 5 10 >>> x ** 2 + x – 1 29 >>>
1/31/17 Variables & Assignments 27
This is an expression So Python evaluates it
Assignment Statements with Expressions
>>> x = 5 >>> x = x + 2
1/31/17 Variables & Assignments 28
Python evaluates this expression first… … then assigns the result to the variable
Keeping Track of Variables
1/31/17 Variables & Assignments 29
5 x 5 x 5 y 5 7 x 5 y
x
Execute the Statement: x = x + 2
5 x
1/31/17 Variables & Assignments 30
Execute the Statement: x = x + 2
5 x
1/31/17 Variables & Assignments 31
Execute the Statement: x = x + 2
5 x
1/31/17 Variables & Assignments 32
Execute the Statement: x = x + 2
neighbor, discuss it if you did something different.
5 x
1/31/17 Variables & Assignments 33
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 34
C: D:
5 x 7
x
5 x 5 x x 7 x 7 x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 35
C:
5 x 7
x
5 x 5 x x 7 x 7 x
x = x + 2
Execute the Statement: x = 3.0 * x + 1.0
5 x 7
1/31/17 Variables & Assignments 36
x
Execute the Statement: x = 3.0 * x + 1.0
5 x 7
1/31/17 Variables & Assignments 37
x
Execute the Statement: x = 3.0 * x + 1.0
neighbor, discuss it if you did something different.
5 x 7
1/31/17 Variables & Assignments 38
x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 39
C: D:
5 x 7
x
5 x 5 x x 22.0 x 22.0 x 22.0
x
7
x
7
x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 40
C:
5 x 7
x
5 x 5 x x 22.0 x 22.0 x 22.0
x
7
x
7
x
x = 3.0 * x + 1.0
Execute the Statement: x = 3.0 * x + 1.0
5 x 7 22.0
1/31/17 Variables & Assignments 41
x x
interestRate = x / interestRate
neighbor, discuss it if you did something different.
Exercise: Understanding Assignment
4 interestRate 5 x 7 22.0
1/31/17 Variables & Assignments 42
x x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 43
C: D:
4 interestRate 5 x 7 22.0
x x
5.5
x
5.5
x
4 interestRate 5 x 7 22.0
x x x
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x
5
x
5.5 interestRate
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 44
C: D:
4 interestRate 5 x 7 22.0
x x
5.5
x
5.5
x
4 interestRate 5 x 7 22.0
x x x
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x
5
x
5.5 interestRate
E:
Which One is Closest to Your Answer?
B:
1/31/17 Variables & Assignments 45
C: D:
4 interestRate 5 x 7 22.0
x x x
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x
5
x
5.5 interestRate
interestRate = x/interestRate
Exercise: Understanding Assignment
intrestRate = x + interestRate
neighbor, discuss it if you did something different.
4 interestRate 5.5 5 x 7 22.0
1/31/17 Variables & Assignments 46
x x x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 47
C: D:
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x x
interestRate 5 x 7 22.0
x x
interestRate 5 x 7 22.0
x x
27.5 intrestRate 5.5 4
x 5.5
27.5 intrestRate
x
27.5
x
4 5.5
x
27.5
x
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 48
C: D:
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x x
interestRate 5 x 7 22.0
x x
interestRate 5 x 7 22.0
x x
27.5 intrestRate 5.5 4
x 5.5
27.5 intrestRate
x
27.5
x
4 5.5
x
27.5
x
E:
Which One is Closest to Your Answer?
A: B:
1/31/17 Variables & Assignments 49
4 interestRate 5 x 7 22.0
x x
5.5
x
4 interestRate 5 x 7 22.0
x x x
27.5 intrestRate 5.5 27.5
x
intrestRate = x + interestRate
^ e Spelling mistakes in Python are bad!!
Dynamic Typing
>>> x = 1 >>> x = x / 2.0
x contains an int value x now contains a float value
1/31/17 Variables & Assignments 50
More Detail: Testing Types
>>> x = 5 >>> type(x) <type 'int‘>
>>> type(2) == int True
1/31/17 Variables & Assignments 51