Fundamentals of Programming (Python) Control...
Transcript of Fundamentals of Programming (Python) Control...
Fundamentals of Programming(Python)
Control Structures
Sina SajadmaneshSharif University of Technology
Fall 2017
Some slides have been adapted from “Python: How to Program – 1st Edition”
Outline1. Control Structures
2. Boolean Expressions
3. Conditionals
4. While Loop
5. For Loop
2SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Control StructuresSequential order◦ Statements are executed in the order they are written
Transfer of control◦ A program executes a statement other than the following one
◦ Do using control structures
3 control structures◦ Sequential structure
◦ Selection structure (Conditionals)
◦ Repetition structure (Loops)
3SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Boolean ExpressionsOperation Meaning
x == y Tests if x is equal to y
x != y ……... x is not equal to y
x > y ……... x is greater than y
x < y ……... x is less than y
x >= y ……... x is greater than or equal to y
x <= y ……... x is less than or equal to y
4SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Operation Meaning
x and y Tests if both x and y are True
x or y ……... either x or y are True
not x ……... x is False
Conditionals
if structure◦ It is a single entry, single exit structure
◦ Allows a program to perform an action only if a statement is true
◦ Otherwise the action is skipped
5SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Condition
Action(s)false
true
Conditionals
Example◦ Find min and max of two numbers
6SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
x = input("Enter first number: ")
min = float(x)
y = input("Enter second number: ")
max = float(y)
if x > y:
min, max = max, min
print("Min:", min)
print("Max:", max)
Conditionals
if/else structure◦ Double selection statement
◦ Allows the programmer to perform an action when a condition is true
◦ An alternate action is preformed when the action is false
7SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Condition
Action(s) of True CaseAction(s) of False Case
false true
Conditionals
Example◦ Find min and max of two numbers
8SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
x = input("Enter first number: ")
x = float(x)
y = input("Enter second number: ")
y = float(y)
if x < y:
print("Min:", x)
print("Max:", y)
else:
print("Min:", y)
print("Max:", x)
Conditionals
if/elif/else structure◦ Multiple selection statement
◦ This is used in place of nested if/else statements
◦ The final else statement is optional◦ It is used as a default action should all other
statements be false
9SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
condition a true
false
.
.
.
false
false
condition z
default action(s)
true
true
condition b
case a action(s)
case b action(s)
case z action(s)
Conditionals
Example◦ Find min and max of two numbers (check for equality)
10SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
x = input("Enter first number: ")
x = float(x)
y = input("Enter second number: ")
y = float(y)
if x < y:
print("Min:", x)
print("Max:", y)
elif x > y:
print("Min:", y)
print("Max:", x)
else:
print("Min=Max=", x)
Repetition StructuresRepetition Structures (Loops)◦ Allow a program to repeat an action while a statement is true
Deterministic Repetition◦ Implemented using for loop
Non-Deterministic Repetition◦ Implemented using while loop
11SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Repetition Structureswhile loop◦ The action is contained within the body of the loop
◦ Can be one or more than one action
◦ Condition should evaluate to false at some point
◦ Creates a infinite loop and program hangs
12SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Condition
Action(s)
True
False
While Loop
Example◦ Class average grade (end with sentinel value)
13SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
total = 0.0
counter = 0
grade = float(input("Enter next grade: "))
while grade >= 0:
total += grade
counter += 1
grade = float(input("Enter next grade: "))
average = total / counter
print("Average Grade: %.2f" % average)
While LoopThe break statement◦ Used to make a loop stop looping
◦ The loop is exited and no more loop code is executed
14SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
total = 0.0
counter = 0
while True:
grade = float(input("Enter next grade: "))
if grade < 0:
break
total += grade
counter += 1
average = total / counter
print("Average Grade: %.2f" % average)
Repetition StructuresCounter-Controlled Repetition◦ The counter
◦ A named variable to control the loop
◦ Initial value
◦ That which the counter starts at
◦ Increment
◦ Modifying the counter to make the loop eventually terminate
◦ Condition
◦ The test that the counter must pass in order to continue looping
15SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
Repetition Structuresfor loop◦ Used to implement counter-
controlled repetition structure
16
SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
counter < max
Action(s)
True
False
counter ← initial
counter ← counter + step
for counter in range(initial, max, step):
# Action(s)
For Loop
Example◦ Class average grade (with known number of grades)
17SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
total = 0.0
number = int(input("Enter number of grades: "))
for counter in range(0, number, 1):
grade = float(input("Enter grade %d: " % (counter + 1)))
total += grade
average = total / number
print("Average Grade: %.2f" % average)
For LoopThe continue statement◦ Used to continue the looping process
◦ All following actions in the loop are not executed◦ But the loop will continue to run
Example◦ Even numbers between 0 and 50 not dividable by 3
18SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017
for counter in range(0, 51, 2):
if counter % 3 == 0:
continue
print(counter, end=", ")