Download presentation
Presentation is loading. Please wait.
Published byΘαλής Ανδρεάδης Modified over 6 years ago
1
And now for something completely different . . .
20-Nov-18 AHD c 2010
2
Part 4 More on Data Processing and Introducing Selection
20-Nov-18 AHD c 2010
3
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
4
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
5
1. Programs are composed of modules
Python Program Structure 1. Programs are composed of modules 2. Modules contain statements 3. Statements contain expressions 4. Expressions create and process objects 20-Nov-18 AHD c 2010
6
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
7
Memory Concepts in Python
A variable is a name that refers to a value. The assignment statement creates new variables and gives them values: number1 = input("Enter first number:\n") 20-Nov-18 AHD c 2010
8
Variables refer to Objects
Variable names such as number1 actually refer to Python objects. Every object has a data type (e.g. int), a size (e.g. 4 bytes), a value (e.g. 10) and a location in the computer's memory. . . 20-Nov-18 AHD c 2010
9
Creation of an object number1 = input("Enter first number:\n") Python first creates an object to hold the user-entered string and places the object into a memory location "10" 20-Nov-18 AHD c 2010
10
Creation of an object number1 "10"
number1 = input("Enter first number:\n") The assignment symbol (=) then associates the name number1 with the newly created object. number1 "10" 20-Nov-18 AHD c 2010
11
A program cannot change an object's type or location
In Python, a program cannot change an object's type or location. 20-Nov-18 AHD c 2010
12
A program cannot change an object's type or location
In Python, a program cannot change an object's type or location. Only with a small selection of object types can the value of the object be changed. . . 20-Nov-18 AHD c 2010
13
These objects are said to be immutable.
Python program statements cannot change the value of a number or string object. These objects are said to be immutable. 20-Nov-18 AHD c 2010
14
Creating a string object
10 is entered number1 = input("Enter first number:\n") print (number1, type(number1)) The output is: 10 <class 'str'> number1 "10" 04-01.py 20-Nov-18 AHD c 2010
15
Converting from one data type to another
number1 = input("Enter first number:\n") print (number1, type(number1)) The int function creates a new object to store the integer value of the string entered in the first line. number1 = int(number1) number1 "10" 10 20-Nov-18 AHD c 2010
16
Converting from one data type to another
number1 = input("Enter first number:\n") print (number1, type(number1)) number1 = int(number1) The new object has a different address which is then associated with the variable name number1 . number1 "10" 10 20-Nov-18 AHD c 2010
17
Converting from one data type to another
number1 = input("Enter first number:\n") print (number1, type(number1)) Once an object no longer has a reference to it, its memory is released. number1 = int(number1) print (number1, type(number1)) number1 "10" 10 04-02.py 20-Nov-18 AHD c 2010
18
Converting from one data type to another
number1 = input("Enter first number:\n") print (number1, type(number1)) number1 = int(number1) print (number1, type(number1)) Once an object no longer has a reference to it, its memory is released. number1 10 20-Nov-18 AHD c 2010
19
Displaying an objects memory location
number1 = input("Enter first number:\n") print (number1, type(number1), id(number1)) number1 = int(number1) print (number1, type(number1) ), id(number1)) A representation of the memory location of an object can be obtained by using the id function. 04-03.py 20-Nov-18 AHD c 2010
20
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
21
Numeric Expressions (int)
2 + 4 6 - 4 6 * 3 6 / 3 6 % 3 6 // 3 -5 3**2 04-04.py 20-Nov-18 AHD c 2010
22
Numeric Expressions (float)
6.0 * 3.0 6.0 / 3.0 6.0 % 3.0 6.0 // 3.0 -5.0 3.0**2.0 04-05.py 20-Nov-18 AHD c 2010
23
Mixed Numeric Expressions
6 * 3.0 6 / 3.0 6 % 3.0 6 // 3.0 -5.0 3**2.0 04-06.py 20-Nov-18 AHD c 2010
24
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
25
Relational operators relate two operands
7 > 10 4 < 16 4 == 4 4 <= 4 4 >= 4 4 != 4 These are Boolean expressions. The result of these expressions is either true (1) or false (0). 20-Nov-18 AHD c 2010
26
Boolean expressions result in values true or false
7 > 10 4 < 16 4 == 4 4 <= 4 4 >= 4 4 != 4 04-07.py 20-Nov-18 AHD c 2010
27
A Boolean Example number = 10 isPositive = (number > 0)
a boolean expression 04-08.py 20-Nov-18 AHD c 2010
28
A Boolean Example number = 10 isPositive = (number > 0)
# the value true (1) is # assigned to isPositive 20-Nov-18 AHD c 2010
29
Combining Boolean expressions
You can combine Boolean expressions. For example, if you need to know if a person's age is greater than 21, AND they have a salary greater than 50 thousand dollars….. 20-Nov-18 AHD c 2010
30
Combining Boolean Expressions with a Logical Operator (and)
age = 25 salary = 55000 print ((age > 21) and (salary > 50000)) 04-09.py 20-Nov-18 AHD c 2010
31
Logical operator: and (age > 21) and (salary > 50000)
The and is known as a logical operator. 20-Nov-18 AHD c 2010
32
Logical (Boolean) Operators
and or not 20-Nov-18 AHD c 2010
33
Truth Tables of Boolean Operators
value of A value of B resulting value of A and B false false false false true false true false false true true true 20-Nov-18 AHD c 2010
34
Truth Tables of Boolean Operators
value of A value of B resulting value of A or B false false false false true true true false true true true true 20-Nov-18 AHD c 2010
35
Truth Tables of Boolean Operators
value of A resulting value of not A false true true false 20-Nov-18 AHD c 2010
36
When writing boolean expressions or arithmetic expressions, it is usually best to indicate the order of operations by using parentheses (brackets). 20-Nov-18 AHD c 2010
37
If parentheses are not used in an expression, the computer will perform the operations in an order determined by the precedence rules. . . 20-Nov-18 AHD c 2010
38
Precedence Rules lowest highest logical or logical and logical not
relational operators: <, >, <=, etc +, - *, /, %, // -x, + x ( ) highest Note: expressions in parentheses (brackets) are evaluated first. 20-Nov-18 AHD c 2010
39
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
40
The if statement The if statement makes use of a Boolean expression to decide which statement(s) to execute. x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') 20-Nov-18 AHD c 2010
41
The if statement The Boolean expression in this example is:
x == 'spam' The expression has a value of true or false (1 or 0). x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') 20-Nov-18 AHD c 2010
42
The if statement x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') The Boolean expression is also known as the condition of the if statement. 20-Nov-18 AHD c 2010
43
The if statement x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') If the condition is true, the first print statement is executed and the second one is skipped. 20-Nov-18 AHD c 2010
44
The if statement x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') If the condition is false, the first print statement is skipped and the second one is executed. 20-Nov-18 AHD c 2010
45
The if statement x = 'spam' if x == 'spam': print ('Hi spam') else: print ('not spam') It's possible to have multiple statements in the true or false sections of an if statement... 20-Nov-18 AHD c 2010
46
The if statement x = 'spam' if x == 'spam': print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') If the condition is true, the first two print statements are executed and the second set are skipped. 20-Nov-18 AHD c 2010
47
The if statement - syntax
The if statement starts with the keyword if followed by a Boolean expression, followed by a colon (:). x = 'spam' if x == 'spam': print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') 20-Nov-18 AHD c 2010
48
The if statement - syntax
Beneath the if line, the statements to be run if the condition is true are entered after pressing the Tab key or typing a few space characters. x = 'spam' if x == 'spam': print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') 20-Nov-18 AHD c 2010
49
The if statement - syntax
The statements to be run must be indented to the same level. It's recommended to press the Tab key before typing the statements. x = 'spam' if x == 'spam': print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') 20-Nov-18 AHD c 2010
50
The if statement - syntax
The else part of an if statement is optional, but if included, must be followed by a colon (:), and then the indented statement(s) to be executed if the condition is false. x = 'spam' if x == 'spam': print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') 20-Nov-18 AHD c 2010
51
The if statement 04-10.py 04-11.py 04-12.py x = 'spam' if x == 'spam':
print ('Hi spam') print ('Hi Anne') else: print ('not spam') print ('bye Anne') 04-10.py 04-11.py 04-12.py 20-Nov-18 AHD c 2010
52
The nested if / elif / else statement
Nested if/else statements test for multiple cases by placing if/else selection structures inside other if/else selection structures… score = input("Enter score: ") score = int(score) if score >= 80: grade = 'A' else: if score >= 70 grade = 'B' grade = 'C' print ("\n\nGrade is: " + grade) 04-13.py 04-14.py 20-Nov-18 AHD c 2010
53
The nested if statement
Nested if/else statements can be written using an alternate if/elif/else construct. Program 04-14.py is exactly equivalent to py. score = input("Enter score: ") score = int(score) if score >= 80: grade = 'A' elif score >= 70: grade = 'B' elif score >= 55: grade = 'C' elif score >= 50: grade = 'Pass' else: grade = 'Fail' print ("\n\nGrade is: " + grade) 04-15.py 20-Nov-18 AHD c 2010
54
Python Data Processing and Selection
4.1 Python Program Structure 4.2 Memory Concepts 4.3 Arithmetic Expression Operators 4.4 Relational and Logical Operators 4.5 Selection 4.6 De Morgan’s Laws 20-Nov-18 AHD c 2010
55
De Morgan’s Laws 1. A not and is equivalent to an or with two negated inputs. 2. A not or is equivalent to an and with two negated inputs. 04-16.py 20-Nov-18 AHD c 2010
56
This presentation uses the following program files:
04-01.py 04-02.py 04-03.py 04-04.py 04-05.py 04-06.py 04-07.py 04-08.py 04-09.py 04-10.py 04-11.py 04-12.py 04-13.py 04-14.py 04-15.py 04-16.py 20-Nov-18 AHD c 2010
57
End of Python3_Processing_Selection.ppt
20-Nov-18 AHD c 2010
58
Last updated: Friday 15th May 2009, 09:13 PT, AHD
20-Nov-18 AHD c 2010
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.