Introduction to Python and Programming
Winter 2025
1
Adrian Salguero
Announcements
2
3
1. Python is a calculator
2. A variable is a container
3. Different types cannot be compared
4. A program is a recipe
1. Python is a calculator
4
You type expressions.�Python computes their values.
5
Try typing some of these expressions into a python interpreter
An expression is evaluated�from the inside out
6
(72 – 32) / 9.0 * 5
an expression
values
(72 – 32) / 9.0 * 5
(40) / 9.0 * 5
40 / 9.0 * 5
4.44 * 5
22.2
Another evaluation example
7
(72 – 32) / (9.0 * 5)
(40) / (9.0 * 5)
40 / (9.0 * 5)
40 / (45.0)
40 / 45.0
.888
Order of Operations
8
Operator | Description | Precedence | Direction |
( ) | Parenthesis | 1 (Highest Precedence) | |
** | Exponentiation | 2 | |
//, /, *, % | Integer division, Float division, multiplication, and modulus �(same level of precedence) | 3 | Left to right |
+, - | Addition and Subtraction (same level of precedence) | 4 (Lowest Precedence) | Left to right |
2. A variable is a container
9
Variables hold values
pi = 3.14
pi
avogadro = 6 * 10 ** 23
avogadro
22 = x # Error!
10
Nothing printed from an assignment statement
An expression that can be typed into a python interpreter to be evaluated. Not a statement to put into a python program.
Try typing into a python interpreter
Changing existing variables�(“re-binding” or “re-assigning”)
x = 2
x
y = 2
y
x = 5
x
y
11
An expression that can be typed into a python interpreter to be evaluated. Not a statement to put into a python program.
Nothing printed from an assignment statement
Try typing into a python interpreter
How an assignment is executed
x = 2
print(x)
y = x
print(y)
z = x + 1
print(z)
x = 5
print(x)
print(y)
print(z)
12
State of the computer:
Printed output:
To visualize a program’s execution: http://pythontutor.com A custom link to this program is here
This is a python program that could be typed into a text editor.
How an assignment is executed
x = 2
print(x)
y = x
print(y)
z = x + 1
print(z)
x = 5
print(x)
print(y)
print(z)
13
State of the computer:
Printed output:
x: 2
y: 2
z: 3
x: 5
To visualize a program’s execution: http://pythontutor.com A custom link to this program is here
This is a python program that could be typed into a text editor.
2
2
3
5
2
3
Boolean Expressions�(value is True or False)
22 > 4
22 < 4
22 == 4
x = 100 # Assignment, not conditional!
22 = 4 # Error!
x >= 5
x >= 100
x >= 200
not True
not (x >= 200)
3 < 4 and 5 < 6
4 < 3 or 5 < 6
temp = 72
water_is_liquid = temp > 32 and temp < 212
14
Order of Precedence:
Numeric operators: +, *, **
Mixed operators: <, >=, ==
Boolean operators: not, and, or
Try typing these expressions into a python interpreter
What do you think?
What is printed out by the following Python code:�
temp = 72
is_liquid = temp > 32 and temp < 212
print(is_liquid)
temp = 300
print(is_liquid)
15
More expressions: strings
A string represents text
'Python'
this_class = "CSE 160"
""
Empty string is not the same as an unbound variable
Operations on strings:
len(this_class)
"CSE" + "160" + 'is' + "fun!"
'0' in this_class
"O" in this_class
16
Try typing these expressions into a python interpreter
3. Different types cannot be compared
17
Types of values
18
Operations behave differently�on different types
3.0 + 4.0
3 + 4
3 + 4.0
"3" + "4"
3 + "4" # Error
3 + True # Don’t do this.
Moral: Python sometimes tells you when you do something that does not make sense.
19
Try typing these expressions into a python interpreter
Operations behave differently�on different types
15.0 + 4.0
15 + 4
15.0 + 4
15 + 4.0
Type conversion:
float(15)
int(15.0)
int(15.5)
int("15")
str(15.5)
float(15) + 4
20
Try typing these expressions into a python interpreter
4. A program is a recipe
21
What is a program?
x = 1
y = 2
x + y
print(x + y)
print("The sum of", x, "and", y, "is", x + y)
22
Interlude: The print statement
print(3.1415)
print(2.718, 1.618)
print()
print(20 + 2, 7 * 3, 4 * 5)
print("The sum of", x, "and", y, "is", x + y)
23
Expressions, statements, and programs
24
25
1. Python is a calculator
2. A variable is a container
3. Different types cannot be compared
4. A program is a recipe
Todos for next lecture
26
Using Gradescope for CSE160
Ungraded
You will see some, but not all of the autograder tests
Can resubmit as many times until the due date
Graded
Automatically Graded
Autograder Score: Points given from all autograder tests
Manually Graded
Autograder Correction: TA’s giving/taking away points in case of autograder error
Internal Correctness: Points given for following directions, good style, efficiency, etc.
Autograder + Autograder Correction + Internal Correctness = Total Score
Comments
Two tabs - results and code. Click on ‘Code’ to see list of files you submitted. Each file will have the number of comments that were made on it.
Comments Example
Resubmissions
Two steps:
(Also, please read comments before resubmitting!)