SlideShare une entreprise Scribd logo
1  sur  64
20ACS04 –
PROBLEM SOLVING AND
PROGRAMMING USING
PYTHON
PREPARED BY
Mr. P. NANDAKUMAR
ASSISTANT PROFESSOR,
DEPARTMENT OF INFORMATION TECHNOLOGY,
SVCET.
COURSE CONTENT
UNIT-II CONTROL STRUCTURES& COLLECTIONS
Control Structures: Boolean expressions, Selection control and Iterative
control. Arrays - Creation, Behavior of Arrays, Operations on Arrays,
Built-In Methods of Arrays. List –Creation, Behavior of Lists, Operations
on Lists, Built-In Methods of Lists. Tuple -Creation, Behavior of Tuples,
Operations on Tuples, Built-In Methods of Tuples. Dictionary – Creation,
Behavior of Dictionary, Operations on Dictionary, Built-In Methods of
Dictionary. Sets – Creation, Behavior of Sets, Operations on Sets, Built-In
Methods of Sets, Frozen set.
Problem Solving: A Food Co-op’s Worker Scheduling Simulation.
FUNDAMENTAL CONCEPTS
What is a Control Structure?
 Control flow is the order that instructions are executed in a program.
 A control statement is a statement that determines the control flow of
a set of instructions.
 There are three fundamental forms of control that programming
languages provide
 sequential control ,
 selection control , and
 iterative control.
FUNDAMENTAL CONCEPTS
 Sequential control is an implicit form of control in which
instructions are executed in the order that they are written.
 A program consisting of only sequential control is referred to as a
“straight-line program.”
 Selection control is provided by a control statement that selectively
executes instructions, while iterative control is provided by an
iterative control statement that repeatedly executes instructions.
 Collectively a set of instructions and the control statements
controlling their execution is called a control structure.
FUNDAMENTAL CONCEPTS
if Statement
BOOLEAN EXPRESSIONS (CONDITIONS)
 The Boolean data type contains two Boolean values, denoted as True
and False in Python.
 A Boolean expression is an expression that evaluates to a Boolean value.
 Boolean expressions are used to denote the conditions for selection and
iterative control statements.
 Relational Operators
 Membership Operators
 Boolean Operators
 Operator Precedence and Boolean Expressions
 Short-Circuit (Lazy) Evaluation
 Logically Equivalent Boolean Expressions
RELATIONAL OPERATORS
 The relational operators in Python perform the usual comparison
operations.
 Relational expressions are a type of Boolean expression, since they
evaluate to a Boolean result.
 Note the use of the comparison operator , = = , for determining if two
values are equal. This, rather than the (single) equal sign, = , is used
since the equal sign is used as the assignment operator.
 This is often a source of confusion for new programmers,
num = 10 variable num is assigned the value 10
num = = 10 variable num is compared to the value 10
RELATIONAL OPERATORS
MEMBERSHIP OPERATORS
 These operators can be used to easily determine if a particular value
occurs within a specified list of values.
 The in operator is used to determine if a specific value is in a given list,
returning True if found, and False otherwise.
 The not in operator returns the opposite result.
 The list of values surrounded by matching parentheses in the figure are
called tuples in Python.
BOOLEAN OPERATORS
 George Boole, in the mid-1800s, developed what we now call Boolean
algebra.
Boolean Logic Truth Table
 Boolean algebra contains a set of Boolean ( logical ) operators , denoted
by and, or, and not in Python.
 Logical and is true only when both its operands are true—otherwise, it
is false. Logical or is true when either or both of its operands are true,
and thus false only when both operands are false. Logical not simply
reverses truth values—not False equals True, and not True equals False.
OPERATOR PRECEDENCE AND BOOLEAN EXPRESSIONS
 Operator precedence also applies to Boolean operators.
 Since Boolean expressions can contain arithmetic as well as relational
and Boolean operators, the precedence of all operators needs to be
collectively applied.
Operator Precedence of Arithmetic, Relational, and Boolean Operator
OPERATOR PRECEDENCE AND BOOLEAN EXPRESSIONS
 In the previous page figure, higher-priority operators are placed above
lower-priority ones.
 All arithmetic operators are performed before any relational or Boolean
operator.
 All of the relational operators are performed before any Boolean
operator.
 Unary Boolean operator not has higher precedence than and, and
Boolean operator and has higher precedence than or.
SHORT-CIRCUIT (LAZY) EVALUATION
 Some programming languages do not evaluate the second operand when
the result is known by the first operand alone, called short circuit (lazy)
evaluation.
 In short-circuit (lazy) evaluation, the second operand of
Boolean operators and and or is not evaluated if the value of the
Boolean expression can be determined from the first operand
alone.
Example:
if n ! 5 0 and 1/n , tolerance:
if n ! 5 0:
if 1/n , tolerance:
LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS
 In numerical algebra, there are arithmetically equivalent expressions of
different form.
 For example, x(y + z) and xy + xz are equivalent for any numerical
values x, y, and z.
 Similarly, there are logically equivalent Boolean expressions of
different form.
LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS
LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS
 The range of values satisfying each set of expressions is shaded in the
figure.
 Both expressions in (1) are true for any value except 0.
 The expressions in (2) are true for any value except 0 and 6.
 The expressions in (3) are only true for values in the range 0 through 6,
inclusive.
 The expressions in (4) are true for all values except 0 through 6,
inclusive.
FORMS OF LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS
SELECTION CONTROL
 A selection control statement is a control statement providing selective
execution of instructions.
 A selection control structure is a given set of instructions and the
selection control statement(s) controlling their execution.
 If Statement
 Indentation in Python
 Multi-Way Selection
Example: Number of Days in Month Program
IF STATEMENT
 An if statement is a selection control statement based on the value of a
given Boolean expression.
 The if statement in Python is depicted in the following Figure.
 Statements that contain other statements are referred to as a compound
statement.
IF STATEMENT –
TEMPERATURE CONVERSION (TWO-WAY CONVERSION)
INDENTATION IN PYTHON
 One fairly unique aspect of Python is that the amount of indentation of
each program line is significant. In most programming languages,
indentation has no affect on program logic—it is simply used to align
program lines to aid readability.
 In Python, however, indentation is used to associate and group
statements.
INDENTATION IN PYTHON
• A header in Python starts with a keyword and ends with a colon.
• The group of statements following a header is called a suite.
• A header and its associated suite are together referred to as a
clause.
MULTI-WAY SELECTION
 The two means of constructing multi-way selection in Python—one
involving multiple nested if statements, and the other involving a
single if statement and the use of elif headers.
Multi-way Selection Using if Statements
MULTI-WAY SELECTION
The elif Header in Python
 Python, however, has another header called elif (“else-if”) that provides
multi-way selection in a single if statement.
EXAMPLE - NUMBER OF DAYS IN MONTH PROGRAM
ITERATIVE CONTROL
 An iterative control statement is a control statement providing the
repeated execution of a set of instructions.
 An iterative control structure is a set of instructions and the iterative
control statement(s) controlling their execution. Because of their
repeated execution, iterative control structures are commonly referred to
as “loops”.
 While Statement
 Input Error Checking
 Infinite loops
 Definite vs. Indefinite Loops
 Boolean Flags and Indefinite Loops
Example: Coin Change Exercise Program
WHILE STATEMENT
 A while statement is an iterative control statement that repeatedly
executes a set of statements based on a provided Boolean expression
(condition).
 All iterative control needed in a program can be achieved by use of the
while statement.
INPUT ERROR CHECKING
 The while statement is well suited for input error checking in a
program.
INFINITE LOOPS
 An infinite loop is an iterative control structure that never terminates
(or eventually terminates with a system error).
 Some infinite loops can cause a program to “hang,” that is, to be
unresponsive to the user. In such cases, the program must be terminated
by use of some special keyboard input (such as ctrl-C) to interrupt the
execution.
DEFINITE VS. INDEFINITE LOOPS
 A definite loop is a program loop in which the number of times the loop
will iterate can be determined before the loop is executed.
 An indefinite loop is a program loop in which the number of times that
the loop will iterate cannot be determined before the loop is executed..
which = input("Enter selection: ")
while which ! = 'F' and which ! = 'C’:
which = input("Please enter 'F' or 'C': ")
 How many times the user mistypes the input
BOOLEAN FLAGS AND INDEFINITE LOOPS
 Often the condition of a given while loop is denoted by a single
Boolean variable, called a Boolean flag.
 A single Boolean variable used as the condition of a given control
statement is called a Boolean flag.
EXAMPLE - COIN CHANGE EXERCISE PROGRAM
ARRAYS
 Arrays are used to store multiple values in one single variable.
 An array is a special variable, which can hold more than one value at a
time.
 If you have a list of items (a list of car names, for example), storing the
cars in single variables could look like this:
car1 = "Ford"
car2 = "Volvo"
car3 = "BMW“
 Create an array containing car names:
cars = ["Ford", "Volvo", "BMW"]
OPERATION ON ARRAYS
Access the Elements of an Array
 You refer to an array element by referring to the index number.
Example: Get the value of the first array item: x = cars[0]
The Length of an Array
 Use the len() method to return the length of an array (the number of
elements in an array).
Example: Return the number of elements in the cars array: x = len(cars)
Looping Array Elements
 You can use the for in loop to loop through all the elements of an array.
Example: Print each item in the cars array:
for x in cars:
print(x)
OPERATION ON ARRAYS
Adding Array Elements
 You can use the append() method to add an element to an array.
Example: Add one more element to the cars array: cars.append("Honda")
Removing Array Elements
 You can use the pop() method to remove an element from the array.
Example: Delete the second element of the cars array: cars.pop(1)
 You can also use the remove() method to remove an element from the
array.
Example: Delete the element that has the value "Volvo":
cars.remove("Volvo")
ARRAY METHODS
Python has a set of built-in methods that you can use on lists/arrays.
Method Description
append() Adds an element at the end of the list
clear() Removes all the elements from the list
copy() Returns a copy of the list
count() Returns the number of elements with the specified value
extend() Add the elements of a list (or any iterable), to the end of the current list
index() Returns the index of the first element with the specified value
insert() Adds an element at the specified position
pop() Removes the element at the specified position
remove() Removes the first item with the specified value
reverse() Reverses the order of the list
sort() Sorts the list
LISTS
 Lists are used to store multiple items in a single variable.
 Lists are one of 4 built-in data types in Python used to store collections
of data, the other 3 are Tuple, Set, and Dictionary, all with different
qualities and usage.
 Lists are created using square brackets:
Example:
Create a List:
thislist = ["apple", "banana", "cherry"]
print(thislist)
LISTS
List Items
 List items are ordered, changeable, and allow duplicate values.
 List items are indexed, the first item has index [0], the second item has
index [1] etc.
Ordered
 When we say that lists are ordered, it means that the items have a
defined order, and that order will not change.
 If you add new items to a list, the new items will be placed at the end of
the list.
LISTS
Changeable
 The list is changeable, meaning that we can change, add, and remove
items in a list after it has been created.
Allow Duplicates
 Since lists are indexed, lists can have items with the same value:
Example: Lists allow duplicate values:
thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)
LISTS
List Length
 To determine how many items a list has, use the len() function:
Example: Print the number of items in the list:
thislist = ["apple", "banana", "cherry"]
print(len(thislist))
List Items - Data Types
List items can be of any data type:
Example: String, int and boolean data types:
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
LISTS
A list can contain different data types:
Example: A list with strings, integers and boolean values:
list1 = ["abc", 34, True, 40, "male"]
type()
From Python's perspective, lists are defined as objects with the data type
'list':
<class 'list’>
Example: What is the data type of a list?
mylist = ["apple", "banana", "cherry"]
print(type(mylist))
LISTS
The list() Constructor
It is also possible to use the list() constructor when creating a new list.
Example
Using the list() constructor to make a List:
thislist = list(("apple", "banana", "cherry")) # note the double round-
brackets
print(thislist)
TUPLE
 Tuples are used to store multiple items in a single variable.
 Tuple is one of 4 built-in data types in Python used to store collections
of data, the other 3 are List, Set, and Dictionary, all with different
qualities and usage.
 A tuple is a collection which is ordered and unchangeable.
 Tuples are written with round brackets.
Example: Create a Tuple:
thistuple = ("apple", "banana", "cherry")
print(thistuple)
TUPLE
Tuple Items
Tuple items are ordered, unchangeable, and allow duplicate values.
Tuple items are indexed, the first item has index [0], the second item has
index [1] etc.
Ordered
When we say that tuples are ordered, it means that the items have a defined
order, and that order will not change.
Unchangeable
Tuples are unchangeable, meaning that we cannot change, add or remove
items after the tuple has been created.
TUPLE
Allow Duplicates
Since tuples are indexed, they can have items with the same value:
Example: Tuples allow duplicate values:
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
Tuple Length
To determine how many items a tuple has, use the len() function:
Example: Print the number of items in the tuple:
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))
TUPLE
Create Tuple With One Item
To create a tuple with only one item, you have to add a comma after the
item, otherwise Python will not recognize it as a tuple.
Example: One item tuple, remember the comma:
thistuple = ("apple",)
print(type(thistuple))
#NOT a tuple
thistuple = ("apple")
print(type(thistuple))
TUPLE
Tuple Items - Data Types
Tuple items can be of any data type:
Example: String, int and boolean data types:
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
A tuple can contain different data types:
Example: A tuple with strings, integers and boolean values:
tuple1 = ("abc", 34, True, 40, "male")
TUPLE
type() - From Python's perspective, tuples are defined as objects with the
data type 'tuple’: <class 'tuple'>
Example: What is the data type of a tuple?
mytuple = ("apple", "banana", "cherry")
print(type(mytuple))
The tuple() Constructor
It is also possible to use the tuple() constructor to make a tuple.
Example: Using the tuple() method to make a tuple:
thistuple = tuple(("apple", "banana", "cherry")) # note the double round-
brackets
print(thistuple)
TUPLE METHODS
Python has two built-in methods that you can use on tuples.
Method Description
count() Returns the number of times a specified value occurs in a
tuple
index() Searches the tuple for a specified value and returns the
position of where it was found
DICTIONARY
Dictionaries are used to store data values in key:value pairs.
A dictionary is a collection which is ordered*, changeable and do not allow
duplicates.
Dictionaries are written with curly brackets, and have keys and values:
Example: Create and print a dictionary:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)
DICTIONARY
Dictionary Items
Dictionary items are ordered, changeable, and does not allow duplicates.
Dictionary items are presented in key:value pairs, and can be referred to by
using the key name.
Example: Print the "brand" value of the dictionary:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict["brand"])
DICTIONARY
Ordered or Unordered:
When we say that dictionaries are ordered, it means that the items have a
defined order, and that order will not change.
Unordered means that the items does not have a defined order, you cannot
refer to an item by using an index.
Changeable
Dictionaries are changeable, meaning that we can change, add or remove
items after the dictionary has been created.
DICTIONARY
Duplicates Not Allowed
Dictionaries cannot have two items with the same key:
Example: Duplicate values will overwrite existing values:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964,
"year": 2020
}
print(thisdict)
DICTIONARY
Dictionary Length - To determine how many items a dictionary has, use
the len() function: Example: Print the number of items in the dictionary:
print(len(thisdict))
Dictionary Items - Data Types
The values in dictionary items can be of any data type:
Example: String, int, boolean, and list data types:
thisdict = { "brand": "Ford",
"electric": False,
"year": 1964,
"colors": ["red", "white", "blue"]
}
DICTIONARY
type()
From Python's perspective, dictionaries are defined as objects with the data
type 'dict’: <class 'dict'>
Example
Print the data type of a dictionary:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(type(thisdict))
DICTIONARY
The dict() Constructor
It is also possible to use the dict() constructor to make a dictionary.
Example: Using the dict() method to make a dictionary:
thisdict = dict(name = "John", age = 36, country = "Norway")
print(thisdict)
DICTIONARY METHODS
Python has a set of built-in methods that you can use on dictionaries.
Method Description
clear() Removes all the elements from the dictionary
copy() Returns a copy of the dictionary
fromkeys() Returns a dictionary with the specified keys and value
get() Returns the value of the specified key
items() Returns a list containing a tuple for each key value pair
keys() Returns a list containing the dictionary's keys
pop() Removes the element with the specified key
popitem() Removes the last inserted key-value pair
setdefault() Returns the value of the specified key. If the key does not exist:
insert the key, with the specified value
update() Updates the dictionary with the specified key-value pairs
values() Returns a list of all the values in the dictionary
SET
Sets are used to store multiple items in a single variable.
Set is one of 4 built-in data types in Python used to store collections of
data, the other 3 are List, Tuple, and Dictionary, all with different qualities
and usage.
A set is a collection which is unordered, unchangeable*, and unindexed.
Sets are written with curly brackets.
Example: Create a Set:
thisset = {"apple", "banana", "cherry"}
print(thisset)
SET
Set Items
Set items are unordered, unchangeable, and do not allow duplicate values.
Unordered
Unordered means that the items in a set do not have a defined order.
Set items can appear in a different order every time you use them, and
cannot be referred to by index or key.
Unchangeable
Set items are unchangeable, meaning that we cannot change the items after
the set has been created.
SET
Duplicates Not Allowed
Sets cannot have two items with the same value.
Example: Duplicate values will be ignored:
thisset = {"apple", "banana", "cherry", "apple"}
print(thisset)
Example: True and 1 is considered the same value:
thisset = {"apple", "banana", "cherry", True, 1, 2}
print(thisset)
SET
Get the Length of a Set
To determine how many items a set has, use the len() function.
Example: Get the number of items in a set:
thisset = {"apple", "banana", "cherry"}
print(len(thisset))
Set Items - Data Types
Set items can be of any data type:
Example: String, int and boolean data types:
set1 = {"apple", "banana", "cherry"}
set2 = {1, 5, 7, 9, 3}
set3 = {True, False, False}
SET
A set can contain different data types:
Example: A set with strings, integers and boolean values:
set1 = {"abc", 34, True, 40, "male"}
type()
From Python's perspective, sets are defined as objects with the data type
'set’:
<class 'set'>
Example: What is the data type of a set?
myset = {"apple", "banana", "cherry"}
print(type(myset))
SET
The set() Constructor
It is also possible to use the set() constructor to make a set.
Example: Using the set() constructor to make a set:
thisset = set(("apple", "banana", "cherry")) # note the double round-
brackets
print(thisset)
SET METHODS
Python has a set of built-in methods that you can use on sets.
Method Description
add() Adds an element to the set
clear() Removes all the elements from the set
copy() Returns a copy of the set
difference() Returns a set containing the difference between two or more
sets
difference_update() Removes the items in this set that are also included in
another, specified set
discard() Remove the specified item
intersection() Returns a set, that is the intersection of two other sets
intersection_update() Removes the items in this set that are not present in other,
specified set(s)
isdisjoint() Returns whether two sets have a intersection or not
issubset() Returns whether another set contains this set or not
issuperset() Returns whether this set contains another set or not
pop() Removes an element from the set
remove() Removes the specified element
symmetric_difference() Returns a set with the symmetric differences of two sets
symmetric_difference_updat
e()
inserts the symmetric differences from this set and another
union() Return a set containing the union of sets
update() Update the set with the union of this set and others

Contenu connexe

Similaire à UNIT - 2 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON

Similaire à UNIT - 2 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON (20)

Java Programming
Java Programming Java Programming
Java Programming
 
MODULE_2_Operators.pptx
MODULE_2_Operators.pptxMODULE_2_Operators.pptx
MODULE_2_Operators.pptx
 
3.pdf
3.pdf3.pdf
3.pdf
 
Types of Statements in Python Programming Language
Types of Statements in Python Programming LanguageTypes of Statements in Python Programming Language
Types of Statements in Python Programming Language
 
python.pptx
python.pptxpython.pptx
python.pptx
 
Control structure
Control structureControl structure
Control structure
 
class interview demo
class interview demo class interview demo
class interview demo
 
python
pythonpython
python
 
Demo for Class.pptx
 Demo for Class.pptx Demo for Class.pptx
Demo for Class.pptx
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming language
 
Comp ppt (1)
Comp ppt (1)Comp ppt (1)
Comp ppt (1)
 
Programming topics. syed arslan rizvi
Programming topics. syed arslan rizviProgramming topics. syed arslan rizvi
Programming topics. syed arslan rizvi
 
Unit - 2 CAP.pptx
Unit - 2 CAP.pptxUnit - 2 CAP.pptx
Unit - 2 CAP.pptx
 
Operators-WPS Office.pdf
Operators-WPS Office.pdfOperators-WPS Office.pdf
Operators-WPS Office.pdf
 
Flow of control by deepak lakhlan
Flow of control by deepak lakhlanFlow of control by deepak lakhlan
Flow of control by deepak lakhlan
 
operat in vb .pptx
operat in vb .pptxoperat in vb .pptx
operat in vb .pptx
 
Python Week 1.pptx
Python Week 1.pptxPython Week 1.pptx
Python Week 1.pptx
 
SOP &POS.pdf
SOP &POS.pdfSOP &POS.pdf
SOP &POS.pdf
 
Control_Statements.pptx
Control_Statements.pptxControl_Statements.pptx
Control_Statements.pptx
 
Flow of control C ++ By TANUJ
Flow of control C ++ By TANUJFlow of control C ++ By TANUJ
Flow of control C ++ By TANUJ
 

Plus de Nandakumar P

UNIT - 5: Data Warehousing and Data Mining
UNIT - 5: Data Warehousing and Data MiningUNIT - 5: Data Warehousing and Data Mining
UNIT - 5: Data Warehousing and Data MiningNandakumar P
 
UNIT - 4: Data Warehousing and Data Mining
UNIT - 4: Data Warehousing and Data MiningUNIT - 4: Data Warehousing and Data Mining
UNIT - 4: Data Warehousing and Data MiningNandakumar P
 
UNIT 3: Data Warehousing and Data Mining
UNIT 3: Data Warehousing and Data MiningUNIT 3: Data Warehousing and Data Mining
UNIT 3: Data Warehousing and Data MiningNandakumar P
 
UNIT 2: Part 2: Data Warehousing and Data Mining
UNIT 2: Part 2: Data Warehousing and Data MiningUNIT 2: Part 2: Data Warehousing and Data Mining
UNIT 2: Part 2: Data Warehousing and Data MiningNandakumar P
 
UNIT 2: Part 1: Data Warehousing and Data Mining
UNIT 2: Part 1: Data Warehousing and Data MiningUNIT 2: Part 1: Data Warehousing and Data Mining
UNIT 2: Part 1: Data Warehousing and Data MiningNandakumar P
 
UNIT - 1 Part 2: Data Warehousing and Data Mining
UNIT - 1 Part 2: Data Warehousing and Data MiningUNIT - 1 Part 2: Data Warehousing and Data Mining
UNIT - 1 Part 2: Data Warehousing and Data MiningNandakumar P
 
UNIT - 1 : Part 1: Data Warehousing and Data Mining
UNIT - 1 : Part 1: Data Warehousing and Data MiningUNIT - 1 : Part 1: Data Warehousing and Data Mining
UNIT - 1 : Part 1: Data Warehousing and Data MiningNandakumar P
 
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHONUNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHONNandakumar P
 
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON Nandakumar P
 
Python Course for Beginners
Python Course for BeginnersPython Course for Beginners
Python Course for BeginnersNandakumar P
 
CS6601-Unit 4 Distributed Systems
CS6601-Unit 4 Distributed SystemsCS6601-Unit 4 Distributed Systems
CS6601-Unit 4 Distributed SystemsNandakumar P
 
Unit-4 Professional Ethics in Engineering
Unit-4 Professional Ethics in EngineeringUnit-4 Professional Ethics in Engineering
Unit-4 Professional Ethics in EngineeringNandakumar P
 
Unit-3 Professional Ethics in Engineering
Unit-3 Professional Ethics in EngineeringUnit-3 Professional Ethics in Engineering
Unit-3 Professional Ethics in EngineeringNandakumar P
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed SystemsNandakumar P
 
Unit 3.1 cs6601 Distributed File System
Unit 3.1 cs6601 Distributed File SystemUnit 3.1 cs6601 Distributed File System
Unit 3.1 cs6601 Distributed File SystemNandakumar P
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsNandakumar P
 
Professional Ethics in Engineering
Professional Ethics in EngineeringProfessional Ethics in Engineering
Professional Ethics in EngineeringNandakumar P
 

Plus de Nandakumar P (17)

UNIT - 5: Data Warehousing and Data Mining
UNIT - 5: Data Warehousing and Data MiningUNIT - 5: Data Warehousing and Data Mining
UNIT - 5: Data Warehousing and Data Mining
 
UNIT - 4: Data Warehousing and Data Mining
UNIT - 4: Data Warehousing and Data MiningUNIT - 4: Data Warehousing and Data Mining
UNIT - 4: Data Warehousing and Data Mining
 
UNIT 3: Data Warehousing and Data Mining
UNIT 3: Data Warehousing and Data MiningUNIT 3: Data Warehousing and Data Mining
UNIT 3: Data Warehousing and Data Mining
 
UNIT 2: Part 2: Data Warehousing and Data Mining
UNIT 2: Part 2: Data Warehousing and Data MiningUNIT 2: Part 2: Data Warehousing and Data Mining
UNIT 2: Part 2: Data Warehousing and Data Mining
 
UNIT 2: Part 1: Data Warehousing and Data Mining
UNIT 2: Part 1: Data Warehousing and Data MiningUNIT 2: Part 1: Data Warehousing and Data Mining
UNIT 2: Part 1: Data Warehousing and Data Mining
 
UNIT - 1 Part 2: Data Warehousing and Data Mining
UNIT - 1 Part 2: Data Warehousing and Data MiningUNIT - 1 Part 2: Data Warehousing and Data Mining
UNIT - 1 Part 2: Data Warehousing and Data Mining
 
UNIT - 1 : Part 1: Data Warehousing and Data Mining
UNIT - 1 : Part 1: Data Warehousing and Data MiningUNIT - 1 : Part 1: Data Warehousing and Data Mining
UNIT - 1 : Part 1: Data Warehousing and Data Mining
 
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHONUNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT - 5 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
 
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
UNIT-1 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON
 
Python Course for Beginners
Python Course for BeginnersPython Course for Beginners
Python Course for Beginners
 
CS6601-Unit 4 Distributed Systems
CS6601-Unit 4 Distributed SystemsCS6601-Unit 4 Distributed Systems
CS6601-Unit 4 Distributed Systems
 
Unit-4 Professional Ethics in Engineering
Unit-4 Professional Ethics in EngineeringUnit-4 Professional Ethics in Engineering
Unit-4 Professional Ethics in Engineering
 
Unit-3 Professional Ethics in Engineering
Unit-3 Professional Ethics in EngineeringUnit-3 Professional Ethics in Engineering
Unit-3 Professional Ethics in Engineering
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Unit 3.1 cs6601 Distributed File System
Unit 3.1 cs6601 Distributed File SystemUnit 3.1 cs6601 Distributed File System
Unit 3.1 cs6601 Distributed File System
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
 
Professional Ethics in Engineering
Professional Ethics in EngineeringProfessional Ethics in Engineering
Professional Ethics in Engineering
 

Dernier

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 

Dernier (20)

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 

UNIT - 2 : 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON

  • 1. 20ACS04 – PROBLEM SOLVING AND PROGRAMMING USING PYTHON PREPARED BY Mr. P. NANDAKUMAR ASSISTANT PROFESSOR, DEPARTMENT OF INFORMATION TECHNOLOGY, SVCET.
  • 2. COURSE CONTENT UNIT-II CONTROL STRUCTURES& COLLECTIONS Control Structures: Boolean expressions, Selection control and Iterative control. Arrays - Creation, Behavior of Arrays, Operations on Arrays, Built-In Methods of Arrays. List –Creation, Behavior of Lists, Operations on Lists, Built-In Methods of Lists. Tuple -Creation, Behavior of Tuples, Operations on Tuples, Built-In Methods of Tuples. Dictionary – Creation, Behavior of Dictionary, Operations on Dictionary, Built-In Methods of Dictionary. Sets – Creation, Behavior of Sets, Operations on Sets, Built-In Methods of Sets, Frozen set. Problem Solving: A Food Co-op’s Worker Scheduling Simulation.
  • 3. FUNDAMENTAL CONCEPTS What is a Control Structure?  Control flow is the order that instructions are executed in a program.  A control statement is a statement that determines the control flow of a set of instructions.  There are three fundamental forms of control that programming languages provide  sequential control ,  selection control , and  iterative control.
  • 4. FUNDAMENTAL CONCEPTS  Sequential control is an implicit form of control in which instructions are executed in the order that they are written.  A program consisting of only sequential control is referred to as a “straight-line program.”  Selection control is provided by a control statement that selectively executes instructions, while iterative control is provided by an iterative control statement that repeatedly executes instructions.  Collectively a set of instructions and the control statements controlling their execution is called a control structure.
  • 6. BOOLEAN EXPRESSIONS (CONDITIONS)  The Boolean data type contains two Boolean values, denoted as True and False in Python.  A Boolean expression is an expression that evaluates to a Boolean value.  Boolean expressions are used to denote the conditions for selection and iterative control statements.  Relational Operators  Membership Operators  Boolean Operators  Operator Precedence and Boolean Expressions  Short-Circuit (Lazy) Evaluation  Logically Equivalent Boolean Expressions
  • 7. RELATIONAL OPERATORS  The relational operators in Python perform the usual comparison operations.  Relational expressions are a type of Boolean expression, since they evaluate to a Boolean result.  Note the use of the comparison operator , = = , for determining if two values are equal. This, rather than the (single) equal sign, = , is used since the equal sign is used as the assignment operator.  This is often a source of confusion for new programmers, num = 10 variable num is assigned the value 10 num = = 10 variable num is compared to the value 10
  • 9. MEMBERSHIP OPERATORS  These operators can be used to easily determine if a particular value occurs within a specified list of values.  The in operator is used to determine if a specific value is in a given list, returning True if found, and False otherwise.  The not in operator returns the opposite result.  The list of values surrounded by matching parentheses in the figure are called tuples in Python.
  • 10. BOOLEAN OPERATORS  George Boole, in the mid-1800s, developed what we now call Boolean algebra. Boolean Logic Truth Table  Boolean algebra contains a set of Boolean ( logical ) operators , denoted by and, or, and not in Python.  Logical and is true only when both its operands are true—otherwise, it is false. Logical or is true when either or both of its operands are true, and thus false only when both operands are false. Logical not simply reverses truth values—not False equals True, and not True equals False.
  • 11. OPERATOR PRECEDENCE AND BOOLEAN EXPRESSIONS  Operator precedence also applies to Boolean operators.  Since Boolean expressions can contain arithmetic as well as relational and Boolean operators, the precedence of all operators needs to be collectively applied. Operator Precedence of Arithmetic, Relational, and Boolean Operator
  • 12. OPERATOR PRECEDENCE AND BOOLEAN EXPRESSIONS  In the previous page figure, higher-priority operators are placed above lower-priority ones.  All arithmetic operators are performed before any relational or Boolean operator.  All of the relational operators are performed before any Boolean operator.  Unary Boolean operator not has higher precedence than and, and Boolean operator and has higher precedence than or.
  • 13. SHORT-CIRCUIT (LAZY) EVALUATION  Some programming languages do not evaluate the second operand when the result is known by the first operand alone, called short circuit (lazy) evaluation.  In short-circuit (lazy) evaluation, the second operand of Boolean operators and and or is not evaluated if the value of the Boolean expression can be determined from the first operand alone. Example: if n ! 5 0 and 1/n , tolerance: if n ! 5 0: if 1/n , tolerance:
  • 14. LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS  In numerical algebra, there are arithmetically equivalent expressions of different form.  For example, x(y + z) and xy + xz are equivalent for any numerical values x, y, and z.  Similarly, there are logically equivalent Boolean expressions of different form.
  • 16. LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS  The range of values satisfying each set of expressions is shaded in the figure.  Both expressions in (1) are true for any value except 0.  The expressions in (2) are true for any value except 0 and 6.  The expressions in (3) are only true for values in the range 0 through 6, inclusive.  The expressions in (4) are true for all values except 0 through 6, inclusive.
  • 17. FORMS OF LOGICALLY EQUIVALENT BOOLEAN EXPRESSIONS
  • 18. SELECTION CONTROL  A selection control statement is a control statement providing selective execution of instructions.  A selection control structure is a given set of instructions and the selection control statement(s) controlling their execution.  If Statement  Indentation in Python  Multi-Way Selection Example: Number of Days in Month Program
  • 19. IF STATEMENT  An if statement is a selection control statement based on the value of a given Boolean expression.  The if statement in Python is depicted in the following Figure.  Statements that contain other statements are referred to as a compound statement.
  • 20. IF STATEMENT – TEMPERATURE CONVERSION (TWO-WAY CONVERSION)
  • 21. INDENTATION IN PYTHON  One fairly unique aspect of Python is that the amount of indentation of each program line is significant. In most programming languages, indentation has no affect on program logic—it is simply used to align program lines to aid readability.  In Python, however, indentation is used to associate and group statements.
  • 22. INDENTATION IN PYTHON • A header in Python starts with a keyword and ends with a colon. • The group of statements following a header is called a suite. • A header and its associated suite are together referred to as a clause.
  • 23. MULTI-WAY SELECTION  The two means of constructing multi-way selection in Python—one involving multiple nested if statements, and the other involving a single if statement and the use of elif headers. Multi-way Selection Using if Statements
  • 24. MULTI-WAY SELECTION The elif Header in Python  Python, however, has another header called elif (“else-if”) that provides multi-way selection in a single if statement.
  • 25. EXAMPLE - NUMBER OF DAYS IN MONTH PROGRAM
  • 26. ITERATIVE CONTROL  An iterative control statement is a control statement providing the repeated execution of a set of instructions.  An iterative control structure is a set of instructions and the iterative control statement(s) controlling their execution. Because of their repeated execution, iterative control structures are commonly referred to as “loops”.  While Statement  Input Error Checking  Infinite loops  Definite vs. Indefinite Loops  Boolean Flags and Indefinite Loops Example: Coin Change Exercise Program
  • 27. WHILE STATEMENT  A while statement is an iterative control statement that repeatedly executes a set of statements based on a provided Boolean expression (condition).  All iterative control needed in a program can be achieved by use of the while statement.
  • 28. INPUT ERROR CHECKING  The while statement is well suited for input error checking in a program.
  • 29. INFINITE LOOPS  An infinite loop is an iterative control structure that never terminates (or eventually terminates with a system error).  Some infinite loops can cause a program to “hang,” that is, to be unresponsive to the user. In such cases, the program must be terminated by use of some special keyboard input (such as ctrl-C) to interrupt the execution.
  • 30. DEFINITE VS. INDEFINITE LOOPS  A definite loop is a program loop in which the number of times the loop will iterate can be determined before the loop is executed.  An indefinite loop is a program loop in which the number of times that the loop will iterate cannot be determined before the loop is executed.. which = input("Enter selection: ") while which ! = 'F' and which ! = 'C’: which = input("Please enter 'F' or 'C': ")  How many times the user mistypes the input
  • 31. BOOLEAN FLAGS AND INDEFINITE LOOPS  Often the condition of a given while loop is denoted by a single Boolean variable, called a Boolean flag.  A single Boolean variable used as the condition of a given control statement is called a Boolean flag.
  • 32. EXAMPLE - COIN CHANGE EXERCISE PROGRAM
  • 33. ARRAYS  Arrays are used to store multiple values in one single variable.  An array is a special variable, which can hold more than one value at a time.  If you have a list of items (a list of car names, for example), storing the cars in single variables could look like this: car1 = "Ford" car2 = "Volvo" car3 = "BMW“  Create an array containing car names: cars = ["Ford", "Volvo", "BMW"]
  • 34. OPERATION ON ARRAYS Access the Elements of an Array  You refer to an array element by referring to the index number. Example: Get the value of the first array item: x = cars[0] The Length of an Array  Use the len() method to return the length of an array (the number of elements in an array). Example: Return the number of elements in the cars array: x = len(cars) Looping Array Elements  You can use the for in loop to loop through all the elements of an array. Example: Print each item in the cars array: for x in cars: print(x)
  • 35. OPERATION ON ARRAYS Adding Array Elements  You can use the append() method to add an element to an array. Example: Add one more element to the cars array: cars.append("Honda") Removing Array Elements  You can use the pop() method to remove an element from the array. Example: Delete the second element of the cars array: cars.pop(1)  You can also use the remove() method to remove an element from the array. Example: Delete the element that has the value "Volvo": cars.remove("Volvo")
  • 36. ARRAY METHODS Python has a set of built-in methods that you can use on lists/arrays. Method Description append() Adds an element at the end of the list clear() Removes all the elements from the list copy() Returns a copy of the list count() Returns the number of elements with the specified value extend() Add the elements of a list (or any iterable), to the end of the current list index() Returns the index of the first element with the specified value insert() Adds an element at the specified position pop() Removes the element at the specified position remove() Removes the first item with the specified value reverse() Reverses the order of the list sort() Sorts the list
  • 37. LISTS  Lists are used to store multiple items in a single variable.  Lists are one of 4 built-in data types in Python used to store collections of data, the other 3 are Tuple, Set, and Dictionary, all with different qualities and usage.  Lists are created using square brackets: Example: Create a List: thislist = ["apple", "banana", "cherry"] print(thislist)
  • 38. LISTS List Items  List items are ordered, changeable, and allow duplicate values.  List items are indexed, the first item has index [0], the second item has index [1] etc. Ordered  When we say that lists are ordered, it means that the items have a defined order, and that order will not change.  If you add new items to a list, the new items will be placed at the end of the list.
  • 39. LISTS Changeable  The list is changeable, meaning that we can change, add, and remove items in a list after it has been created. Allow Duplicates  Since lists are indexed, lists can have items with the same value: Example: Lists allow duplicate values: thislist = ["apple", "banana", "cherry", "apple", "cherry"] print(thislist)
  • 40. LISTS List Length  To determine how many items a list has, use the len() function: Example: Print the number of items in the list: thislist = ["apple", "banana", "cherry"] print(len(thislist)) List Items - Data Types List items can be of any data type: Example: String, int and boolean data types: list1 = ["apple", "banana", "cherry"] list2 = [1, 5, 7, 9, 3] list3 = [True, False, False]
  • 41. LISTS A list can contain different data types: Example: A list with strings, integers and boolean values: list1 = ["abc", 34, True, 40, "male"] type() From Python's perspective, lists are defined as objects with the data type 'list': <class 'list’> Example: What is the data type of a list? mylist = ["apple", "banana", "cherry"] print(type(mylist))
  • 42. LISTS The list() Constructor It is also possible to use the list() constructor when creating a new list. Example Using the list() constructor to make a List: thislist = list(("apple", "banana", "cherry")) # note the double round- brackets print(thislist)
  • 43. TUPLE  Tuples are used to store multiple items in a single variable.  Tuple is one of 4 built-in data types in Python used to store collections of data, the other 3 are List, Set, and Dictionary, all with different qualities and usage.  A tuple is a collection which is ordered and unchangeable.  Tuples are written with round brackets. Example: Create a Tuple: thistuple = ("apple", "banana", "cherry") print(thistuple)
  • 44. TUPLE Tuple Items Tuple items are ordered, unchangeable, and allow duplicate values. Tuple items are indexed, the first item has index [0], the second item has index [1] etc. Ordered When we say that tuples are ordered, it means that the items have a defined order, and that order will not change. Unchangeable Tuples are unchangeable, meaning that we cannot change, add or remove items after the tuple has been created.
  • 45. TUPLE Allow Duplicates Since tuples are indexed, they can have items with the same value: Example: Tuples allow duplicate values: thistuple = ("apple", "banana", "cherry", "apple", "cherry") print(thistuple) Tuple Length To determine how many items a tuple has, use the len() function: Example: Print the number of items in the tuple: thistuple = ("apple", "banana", "cherry") print(len(thistuple))
  • 46. TUPLE Create Tuple With One Item To create a tuple with only one item, you have to add a comma after the item, otherwise Python will not recognize it as a tuple. Example: One item tuple, remember the comma: thistuple = ("apple",) print(type(thistuple)) #NOT a tuple thistuple = ("apple") print(type(thistuple))
  • 47. TUPLE Tuple Items - Data Types Tuple items can be of any data type: Example: String, int and boolean data types: tuple1 = ("apple", "banana", "cherry") tuple2 = (1, 5, 7, 9, 3) tuple3 = (True, False, False) A tuple can contain different data types: Example: A tuple with strings, integers and boolean values: tuple1 = ("abc", 34, True, 40, "male")
  • 48. TUPLE type() - From Python's perspective, tuples are defined as objects with the data type 'tuple’: <class 'tuple'> Example: What is the data type of a tuple? mytuple = ("apple", "banana", "cherry") print(type(mytuple)) The tuple() Constructor It is also possible to use the tuple() constructor to make a tuple. Example: Using the tuple() method to make a tuple: thistuple = tuple(("apple", "banana", "cherry")) # note the double round- brackets print(thistuple)
  • 49. TUPLE METHODS Python has two built-in methods that you can use on tuples. Method Description count() Returns the number of times a specified value occurs in a tuple index() Searches the tuple for a specified value and returns the position of where it was found
  • 50. DICTIONARY Dictionaries are used to store data values in key:value pairs. A dictionary is a collection which is ordered*, changeable and do not allow duplicates. Dictionaries are written with curly brackets, and have keys and values: Example: Create and print a dictionary: thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(thisdict)
  • 51. DICTIONARY Dictionary Items Dictionary items are ordered, changeable, and does not allow duplicates. Dictionary items are presented in key:value pairs, and can be referred to by using the key name. Example: Print the "brand" value of the dictionary: thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(thisdict["brand"])
  • 52. DICTIONARY Ordered or Unordered: When we say that dictionaries are ordered, it means that the items have a defined order, and that order will not change. Unordered means that the items does not have a defined order, you cannot refer to an item by using an index. Changeable Dictionaries are changeable, meaning that we can change, add or remove items after the dictionary has been created.
  • 53. DICTIONARY Duplicates Not Allowed Dictionaries cannot have two items with the same key: Example: Duplicate values will overwrite existing values: thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964, "year": 2020 } print(thisdict)
  • 54. DICTIONARY Dictionary Length - To determine how many items a dictionary has, use the len() function: Example: Print the number of items in the dictionary: print(len(thisdict)) Dictionary Items - Data Types The values in dictionary items can be of any data type: Example: String, int, boolean, and list data types: thisdict = { "brand": "Ford", "electric": False, "year": 1964, "colors": ["red", "white", "blue"] }
  • 55. DICTIONARY type() From Python's perspective, dictionaries are defined as objects with the data type 'dict’: <class 'dict'> Example Print the data type of a dictionary: thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(type(thisdict))
  • 56. DICTIONARY The dict() Constructor It is also possible to use the dict() constructor to make a dictionary. Example: Using the dict() method to make a dictionary: thisdict = dict(name = "John", age = 36, country = "Norway") print(thisdict)
  • 57. DICTIONARY METHODS Python has a set of built-in methods that you can use on dictionaries. Method Description clear() Removes all the elements from the dictionary copy() Returns a copy of the dictionary fromkeys() Returns a dictionary with the specified keys and value get() Returns the value of the specified key items() Returns a list containing a tuple for each key value pair keys() Returns a list containing the dictionary's keys pop() Removes the element with the specified key popitem() Removes the last inserted key-value pair setdefault() Returns the value of the specified key. If the key does not exist: insert the key, with the specified value update() Updates the dictionary with the specified key-value pairs values() Returns a list of all the values in the dictionary
  • 58. SET Sets are used to store multiple items in a single variable. Set is one of 4 built-in data types in Python used to store collections of data, the other 3 are List, Tuple, and Dictionary, all with different qualities and usage. A set is a collection which is unordered, unchangeable*, and unindexed. Sets are written with curly brackets. Example: Create a Set: thisset = {"apple", "banana", "cherry"} print(thisset)
  • 59. SET Set Items Set items are unordered, unchangeable, and do not allow duplicate values. Unordered Unordered means that the items in a set do not have a defined order. Set items can appear in a different order every time you use them, and cannot be referred to by index or key. Unchangeable Set items are unchangeable, meaning that we cannot change the items after the set has been created.
  • 60. SET Duplicates Not Allowed Sets cannot have two items with the same value. Example: Duplicate values will be ignored: thisset = {"apple", "banana", "cherry", "apple"} print(thisset) Example: True and 1 is considered the same value: thisset = {"apple", "banana", "cherry", True, 1, 2} print(thisset)
  • 61. SET Get the Length of a Set To determine how many items a set has, use the len() function. Example: Get the number of items in a set: thisset = {"apple", "banana", "cherry"} print(len(thisset)) Set Items - Data Types Set items can be of any data type: Example: String, int and boolean data types: set1 = {"apple", "banana", "cherry"} set2 = {1, 5, 7, 9, 3} set3 = {True, False, False}
  • 62. SET A set can contain different data types: Example: A set with strings, integers and boolean values: set1 = {"abc", 34, True, 40, "male"} type() From Python's perspective, sets are defined as objects with the data type 'set’: <class 'set'> Example: What is the data type of a set? myset = {"apple", "banana", "cherry"} print(type(myset))
  • 63. SET The set() Constructor It is also possible to use the set() constructor to make a set. Example: Using the set() constructor to make a set: thisset = set(("apple", "banana", "cherry")) # note the double round- brackets print(thisset)
  • 64. SET METHODS Python has a set of built-in methods that you can use on sets. Method Description add() Adds an element to the set clear() Removes all the elements from the set copy() Returns a copy of the set difference() Returns a set containing the difference between two or more sets difference_update() Removes the items in this set that are also included in another, specified set discard() Remove the specified item intersection() Returns a set, that is the intersection of two other sets intersection_update() Removes the items in this set that are not present in other, specified set(s) isdisjoint() Returns whether two sets have a intersection or not issubset() Returns whether another set contains this set or not issuperset() Returns whether this set contains another set or not pop() Removes an element from the set remove() Removes the specified element symmetric_difference() Returns a set with the symmetric differences of two sets symmetric_difference_updat e() inserts the symmetric differences from this set and another union() Return a set containing the union of sets update() Update the set with the union of this set and others