0% found this document useful (0 votes)
1 views64 pages

Unit - 2 Python

The document outlines a course on Problem Solving and Programming using Python, focusing on control structures and data collections such as arrays, lists, tuples, dictionaries, and sets. It explains fundamental concepts like control flow, Boolean expressions, and various operators, as well as practical examples like worker scheduling simulations and temperature conversion. Additionally, it covers iterative control structures, error checking, and the characteristics of different data types in Python.

Uploaded by

anwarajmer7382
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
1 views64 pages

Unit - 2 Python

The document outlines a course on Problem Solving and Programming using Python, focusing on control structures and data collections such as arrays, lists, tuples, dictionaries, and sets. It explains fundamental concepts like control flow, Boolean expressions, and various operators, as well as practical examples like worker scheduling simulations and temperature conversion. Additionally, it covers iterative control structures, error checking, and the characteristics of different data types in Python.

Uploaded by

anwarajmer7382
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 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
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_up inserts the symmetric differences from this set and
date another
()
union() Return a set containing the union of sets

You might also like