SlideShare a Scribd company logo
1 of 47
PROGRAMMING FUNDAMENTALS
WEEK 04 – IMPERATIVE PROGRAMMING
Course Instructor:
Engr.Asma Khan
Assistant Professor
SE,Dept
STRATEGY FOR NESTING LOOP
 This program will consist of several components.
 We need an input() statement to read in the phrase, a for loop to iterate over the characters of the input
string, and, in every iteration of the for loop, an if statement to check whether the current character is a
vowel.
 If so, it gets printed.
 Next is the complete program.
7/20/2022 2
FOR LOOP WITH CONDITION STATEMENT CODE AND EXECUTION
7/20/2022 3
Code with for loop and if condition
Executing the code using nesting loop
ANOTHER SENTENCE FOR FINDING THE VOWELS
7/20/2022 4
• Note that we combined a for loop and an if statement and that
indentation is used to specify the body of each.
• The if statement body is just print(c) while the for loop statement
body is:
if c in 'aeiouAEIOU':
print(c)
FUNCTION RANGE()
 We just saw how the for loop is used to iterate over the items of a list or the characters of a string. It is
often necessary to iterate over a sequence of numbers in a given range, even if the list of numbers is not
explicitly given. For example, we may be searching for a divisor of a number.
 Or we could be iterating over the indexes 0, 1, 2, . . . of a sequence object. The built-in function range()
can be used together with the for loop to iterate over a sequence of numbers in a given range. Here is
how we can iterate over the integers 0, 1, 2, 3, 4:
7/20/2022 5
FUNCTION RANGE()
7/20/2022 6
FUNCTION RANGE()
 Function range(n) is typically used to iterate over the integer sequence 0, 1, 2, . . . , (n -1).
 In the last example, variable i is set to 0 in the first iteration; in the following iterations, i gets assigned
values 1, 2, 3, and finally 4 (as n = 5).
 As in previous for loop examples, the indented code section of the for loop is executed in every iteration,
for every value of i.
7/20/2022 7
FUNCTION RANGE(START, END)
 The range() function can also be used to iterate over more complex sequences of numbers.
 If we would like the sequence to start at a nonzero number start and end before number end, we make
the function call range(start, end). For example, this for loop iterates over the sequence 2, 3, 4:
7/20/2022 8
FUNCTION RANGE(START, END, STEP)
 In order to generate sequences that use a step size other than 1, a third argument can be used.
 The function call range(start, end, step) can be used to iterate over the sequence of integers starting at
start, using a step size of step and ending before end. For example, the next loop will iterate over the
sequence 1, 4, 7, 10, 13:
 The sequence printed by the for loop starts at 1, uses a step size of 3, and ends before 14.
 Therefore it will print 1, 4, 7, 10, and 13.
7/20/2022 9
FUNCTION RANGE(START, END, STEP) PROGRAM EXECUTION
7/20/2022 10
USER-DEFINED FUNCTIONS
 We have already seen and used several built-in Python functions. The function len(), for example, takes a
sequence (a string or a list, say) and returns the number of items in the sequence:
>>> len('goldfish')
8
>>> len(['goldfish', 'cat', 'dog'])
3
 Function max() can take two numbers as input and returns the maximum of the two:
>>> max(4, 7)
7
7/20/2022 11
USER-DEFINED FUNCTIONS
 Function sum() can take a list of numbers as input and returns the sum of the numbers:
>>> sum([4, 5, 6, 7])
22
 Some functions can even be called without arguments:
>>> print()
 In general, a function takes 0 or more input arguments and returns a result.
 One of the useful things about functions is that they can be called, using a single-line statement, to
complete a task that really requires multiple Python statements.
7/20/2022 12
OUR FIRST FUNCTION
 We illustrate how functions are defined in Python by developing a Python function named f that takes a
number x as input and computes and returns the value x2 +1.We expect this function to behave like this:
>>> f(9)
82
>>> 3 * f(3) + 4
34
7/20/2022 13
f(argument)
Argument for f Return from function f
f(argument)
{code to be
executed}
Argument for f Return from function f
CODING FOR THE USER-DEFINED FUNCTION
 Function f() can be defined in a Python module as:
7/20/2022 14
f(argument)
Argument for f Return from function f
def f(4):
res = 4**2 +
1
return res
Argument for f (4) res from function f ->
17
USER-DEFINED FUNCTION EXECUTION
7/20/2022 15
def f(x):
res = x**2 +
1
return res
Expression using function f(x) res from function f(3) used in Expression
3*f(3)+4
USER-DEFINED FUNCTION GENERAL FORMAT
 After you have defined function f(), you can use it just like any other built-in function. The Python
function definition statement has this general format:
def <function name> (<0 or more variables>):
<indented function body>
 A function definition statement starts with the def keyword. Following it is the name of the function; in
our example, the name is f.
 Following the name and in parentheses are the variable names that stand in for the input arguments, if
any.
 In function f(), the x in
def f(x):
 has the same role as x in the math function f(x): to serve as the name for the input value.
7/20/2022 16
USER-DEFINED FUNCTION WITH TWO PARAMETERS
 To define a function with more than one argument, we need to have a distinct variable name for every
input argument.
 For example, if we want to define a function called squareSum() that takes two numbers x and y as input
and returns the 𝑆𝑢𝑚 𝑜𝑓 𝑡ℎ𝑒𝑖𝑟 𝑠𝑞𝑢𝑎𝑟𝑒𝑠 = 𝑥2 + 𝑦2, we need to define function squareSum() so there is a
variable name for input argument x, say x, and another variable name for input argument y, say y:
7/20/2022 17
SquareSum
USER-DEFINED FUNCTION WITH TWO PARAMETERS
7/20/2022 18
𝑥2
𝑦2
+
PRINT( ) VERSES RETURN
 As another example of a user-defined function, we develop a personalized hello() function.
 It takes as input a name (a string) and prints a greeting:
>>> hello(‘Faisal')
Hello, Faisal!
 We implement this function in the same module as function f():
def hello(name):
print('Hello, '+ name + '!')
7/20/2022 19
PRINT( ) VERSES RETURN
 When function hello() is called, it will print the concatenation of string 'Hello, ', the input string, and
string '!'.
 Note that function hello() prints output on the screen; it does not return anything.
 What is the difference between a function calling print() or returning a value?
7/20/2022 20
STATEMENT RETURN VERSUS FUNCTION PRINT( )
 A common mistake is to use the print() function instead of
the return statement inside a function.
 Suppose we had defined our first function f() in this way:
def f(x):
print(x**2 + 1)
 It would seem that such an implementation of function f()
works fine:
>>> f(2)
5
 However, when used in an expression, function f() will not
work as expected:
>>> 3 * f(2) + 1
5
Traceback (most recent call last):
File '<pyshell#103>', line 1, in <module>
3 * f(2) + 1
TypeError: unsupported operand type(s) for *:
'int' and 'NoneType‘
 Actually, Python has a name for the “nothing” type: It is
the 'NoneType' referred to in the error message shown.
 The error itself is caused by the attempt to multiply an
integer value with “nothing.”
7/20/2022 21
!
FUNCTION DEFINITIONS ARE “ASSIGNMENT” STATEMENTS
7/20/2022 22
FIRST DEFINE THE FUNCTION, THEN USE IT
 Python does not allow calling a function before it is defined, just as a variable cannot be used in an
expression before it is assigned.
 Knowing this, try to figure out why running this module would result in an error:
print(f(3))
def f(x):
return x**2 + 1
 Answer: When a module is executed, the Python statements are executed top to bottom. The print(f(3))
statement will fail because the name f is not defined yet.
7/20/2022 23
!
CALLING FUNCTION BEFORE INITIALIZATION
7/20/2022 24
ANALYZING THE CODE
 Will we get an error when running this module?
def g(x):
return f(x)
def f(x):
return x**2 + 1
 Answer: No, because functions f() and g() are not executed when the module is run, they are just defined.
After they are defined, they can both be executed without problems.
7/20/2022 25
FUNCTION RETURNING OTHER FUNCTION
7/20/2022 26
FUNCTION USING DIFFERENT VARIABLE
7/20/2022 27
COMMENTS – SINGLE LINE COMMENT BY #
 Python programs should be well documented for two reasons:
1. The user of the program should understand what the program does.
2. The developer who develops and/or maintains the code should understand how the program works.
def f(x):
res = x**2 + 1 # compute x**2 + 1 and store value in res
return res # return value of res
7/20/2022 28
COMMENTS – MULTILINE COMMENT BY “””
 In Python multiline comments are also used during the time of debugging and restricting a single block
of code.
 For multiline comments we use “”” , 3 time double quotes.
7/20/2022 29
EXECUTION OF FUNCTION G( ) BLOCKED
7/20/2022 30
• As we have used multiline comment on function g( ), It will not interpreted and when calling the
function it will generate the error.
DOCSTRINGS
 Functions should also be documented for the function users. The built-in functions we have seen so far
all have documentation that can be viewed using function help(). For example:
>>> help(len)
Help on built-in function len in module builtins:
len(...)
len(object) -> integer
Return the number of items of a sequence or mapping.
7/20/2022 31
DOCSTRINGS
 If we use help on our first function g(), surprisingly
we get some documentation as well.
>>> help(g)
Help on function f in module __main__:
f(x)
7/20/2022 32
DOCSTRINGS
7/20/2022 33
ASSIGNMENT # 3
TO BE SUBMITTED BY SOLVING IT ON PYTHON IDLE & EMAIL IT TO ME. REMEMBER TO READ CHAPTER 3
7/20/2022 34
PRACTICE PROBLEM 3.1
 Translate these conditional statements into Python if statements:
(a) If age is greater 62, print 'You can get your pension benefits'.
(b) If name is in list ['Musial', 'Aaraon', 'Williams', 'Gehrig', 'Ruth'],
print 'One of the top 5 baseball players, ever!'.
(c) If hits is greater than 10 and shield is 0, print 'You are dead...'.
(d) If at least one of the Boolean variables north, south, east, and west is True, print
'I can escape.'.
7/20/2022 35
PRACTICE PROBLEM 3.3
 Translate these into Python if/else statements:
(a) If year is divisible by 4, print 'Could be a leap year.'; otherwise print 'Definitely not
a leap year.'
(b) If list ticket is equal to list lottery, print 'You won!'; else print 'Better luck next
time...'
7/20/2022 36
PRACTICE PROBLEM 3.4
 Implement a program that starts by asking the user to enter a login id (i.e., a string). The program then checks
whether the id entered by the user is in the list ['joe', 'sue', 'hani', 'sophie'] of valid users. Depending on the
outcome, an appropriate message should be printed. Regardless of the outcome, your function should print
'Done.' before terminating. Here is an example of a successful login:
Login: joe
You are in!
Done.
 And here is one that is not:
>>>
Login: john
User unknown.
Done.
7/20/2022 37
PRACTICE PROBLEM 3.5
 Implement a program that requests from the user a list of words (i.e., strings) and then prints on the
screen, one per line, all four-letter strings in the list.
>>>
Enter word list: ['stop', 'desktop', 'top', 'post']
stop
post
7/20/2022 38
PRACTICE PROBLEM 3.6
 Write the for loop that will print these sequences of numbers, one per line, in the interactive shell.
(a) Integers from 0 to 9 (i.e., 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
(b) Integers from 0 to 1 (i.e., 0, 1)
7/20/2022 39
PRACTICE PROBLEM 3.7
 Write the for loop that will print the following sequences of numbers, one per line.
(a) Integers from 3 up to and including 12
(b) Integers from 0 up to but not including 9, but with a step of 2 instead of the default
of 1 (i.e., 0, 2, 4, 6, 8)
(c) Integers from 0 up to but not including 24 with a step of 3
(d) Integers from 3 up to but not including 12 with a step of 5
7/20/2022 40
PRACTICE PROBLEM 3.8
 Define, directly in the interactive shell, function perimeter() that takes, as input, the radius of a circle (a
nonnegative number) and returns the perimeter of the circle. A sample usage is:
>>> perimeter(1)
6.283185307179586
>>> perimeter (2)
12.566370614359172
 Remember that you will need the value of (defined in module math) to compute theperimeter.
7/20/2022 41
PRACTICE PROBLEM 3.9
 Implement function average() that takes two numbers as input and returns the average of the numbers.
You should write your implementation in a module you will name average.py.
 A sample usage is:
>>> average(1,3)
2.0
>>> average(2, 3.5)
2.75
7/20/2022 42
PRACTICE PROBLEM 3.10
 Implement function noVowel() that takes a string s as input and returns True if no character in s is a
vowel, and False otherwise (i.e., some character in s is a vowel).
>>> noVowel('crypt')
True
>>> noVowel('cwm')
True
>>> noVowel('car')
False
7/20/2022 43
PRACTICE PROBLEM 3.11
 Implement function allEven() that takes a list of integers and returns True if all integers in the list are
even, and False otherwise.
>>> allEven([8, 0, -2, 4, -6, 10])
True
>>> allEven([8, 0, -1, 4, -6, 10])
False
7/20/2022 44
PRACTICE PROBLEM 3.12
 Write function negatives() that takes a list as input and prints, one per line, the negative values in the list.
 The function should not return anything.
>>> negatives([4, 0, -1, -3, 6, -9])
-1
-3
-9
7/20/2022 45
PRACTICE PROBLEM 3.13
 Add appropriate docstrings to functions average() and negatives() from Practice Problems 3.9 and 3.12.
Check your work using the help() documentation tool. You should get, for example:
>>> help(average)
Help on function average in module __main__:
average(x, y)
returns average of x and y
7/20/2022 46
1ST DETAILED ASSIGNMENT
TO BE SOLVED AND GET PRINTOUT , PROPERLY SUBMITTED IN A FILE. (BEFORE 5:00 PM,16 NOV 2018)
7/20/2022 47

More Related Content

Similar to ForLoopandUserDefinedFunctions.pptx

Similar to ForLoopandUserDefinedFunctions.pptx (20)

2 Functions2.pptx
2 Functions2.pptx2 Functions2.pptx
2 Functions2.pptx
 
Unit-III.pptx
Unit-III.pptxUnit-III.pptx
Unit-III.pptx
 
Chapter 1.ppt
Chapter 1.pptChapter 1.ppt
Chapter 1.ppt
 
Chapter Functions for grade 12 computer Science
Chapter Functions for grade 12 computer ScienceChapter Functions for grade 12 computer Science
Chapter Functions for grade 12 computer Science
 
Functions in python
Functions in pythonFunctions in python
Functions in python
 
Functionincprogram
FunctionincprogramFunctionincprogram
Functionincprogram
 
Notes5
Notes5Notes5
Notes5
 
function.pptx
function.pptxfunction.pptx
function.pptx
 
Unit 3 (1)
Unit 3 (1)Unit 3 (1)
Unit 3 (1)
 
functions.pptx
functions.pptxfunctions.pptx
functions.pptx
 
Functions_21_22.pdf
Functions_21_22.pdfFunctions_21_22.pdf
Functions_21_22.pdf
 
Functions2.pptx
Functions2.pptxFunctions2.pptx
Functions2.pptx
 
Chap 5 c++
Chap 5 c++Chap 5 c++
Chap 5 c++
 
Ch-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdfCh-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdf
 
User Defined Functions
User Defined FunctionsUser Defined Functions
User Defined Functions
 
Chap 5 c++
Chap 5 c++Chap 5 c++
Chap 5 c++
 
Functions_19_20.pdf
Functions_19_20.pdfFunctions_19_20.pdf
Functions_19_20.pdf
 
Python-review1.ppt
Python-review1.pptPython-review1.ppt
Python-review1.ppt
 
Function
FunctionFunction
Function
 
functions modules and exceptions handlings.ppt
functions modules and exceptions handlings.pptfunctions modules and exceptions handlings.ppt
functions modules and exceptions handlings.ppt
 

Recently uploaded

main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 

Recently uploaded (20)

main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 

ForLoopandUserDefinedFunctions.pptx

  • 1. PROGRAMMING FUNDAMENTALS WEEK 04 – IMPERATIVE PROGRAMMING Course Instructor: Engr.Asma Khan Assistant Professor SE,Dept
  • 2. STRATEGY FOR NESTING LOOP  This program will consist of several components.  We need an input() statement to read in the phrase, a for loop to iterate over the characters of the input string, and, in every iteration of the for loop, an if statement to check whether the current character is a vowel.  If so, it gets printed.  Next is the complete program. 7/20/2022 2
  • 3. FOR LOOP WITH CONDITION STATEMENT CODE AND EXECUTION 7/20/2022 3 Code with for loop and if condition Executing the code using nesting loop
  • 4. ANOTHER SENTENCE FOR FINDING THE VOWELS 7/20/2022 4 • Note that we combined a for loop and an if statement and that indentation is used to specify the body of each. • The if statement body is just print(c) while the for loop statement body is: if c in 'aeiouAEIOU': print(c)
  • 5. FUNCTION RANGE()  We just saw how the for loop is used to iterate over the items of a list or the characters of a string. It is often necessary to iterate over a sequence of numbers in a given range, even if the list of numbers is not explicitly given. For example, we may be searching for a divisor of a number.  Or we could be iterating over the indexes 0, 1, 2, . . . of a sequence object. The built-in function range() can be used together with the for loop to iterate over a sequence of numbers in a given range. Here is how we can iterate over the integers 0, 1, 2, 3, 4: 7/20/2022 5
  • 7. FUNCTION RANGE()  Function range(n) is typically used to iterate over the integer sequence 0, 1, 2, . . . , (n -1).  In the last example, variable i is set to 0 in the first iteration; in the following iterations, i gets assigned values 1, 2, 3, and finally 4 (as n = 5).  As in previous for loop examples, the indented code section of the for loop is executed in every iteration, for every value of i. 7/20/2022 7
  • 8. FUNCTION RANGE(START, END)  The range() function can also be used to iterate over more complex sequences of numbers.  If we would like the sequence to start at a nonzero number start and end before number end, we make the function call range(start, end). For example, this for loop iterates over the sequence 2, 3, 4: 7/20/2022 8
  • 9. FUNCTION RANGE(START, END, STEP)  In order to generate sequences that use a step size other than 1, a third argument can be used.  The function call range(start, end, step) can be used to iterate over the sequence of integers starting at start, using a step size of step and ending before end. For example, the next loop will iterate over the sequence 1, 4, 7, 10, 13:  The sequence printed by the for loop starts at 1, uses a step size of 3, and ends before 14.  Therefore it will print 1, 4, 7, 10, and 13. 7/20/2022 9
  • 10. FUNCTION RANGE(START, END, STEP) PROGRAM EXECUTION 7/20/2022 10
  • 11. USER-DEFINED FUNCTIONS  We have already seen and used several built-in Python functions. The function len(), for example, takes a sequence (a string or a list, say) and returns the number of items in the sequence: >>> len('goldfish') 8 >>> len(['goldfish', 'cat', 'dog']) 3  Function max() can take two numbers as input and returns the maximum of the two: >>> max(4, 7) 7 7/20/2022 11
  • 12. USER-DEFINED FUNCTIONS  Function sum() can take a list of numbers as input and returns the sum of the numbers: >>> sum([4, 5, 6, 7]) 22  Some functions can even be called without arguments: >>> print()  In general, a function takes 0 or more input arguments and returns a result.  One of the useful things about functions is that they can be called, using a single-line statement, to complete a task that really requires multiple Python statements. 7/20/2022 12
  • 13. OUR FIRST FUNCTION  We illustrate how functions are defined in Python by developing a Python function named f that takes a number x as input and computes and returns the value x2 +1.We expect this function to behave like this: >>> f(9) 82 >>> 3 * f(3) + 4 34 7/20/2022 13 f(argument) Argument for f Return from function f f(argument) {code to be executed} Argument for f Return from function f
  • 14. CODING FOR THE USER-DEFINED FUNCTION  Function f() can be defined in a Python module as: 7/20/2022 14 f(argument) Argument for f Return from function f def f(4): res = 4**2 + 1 return res Argument for f (4) res from function f -> 17
  • 15. USER-DEFINED FUNCTION EXECUTION 7/20/2022 15 def f(x): res = x**2 + 1 return res Expression using function f(x) res from function f(3) used in Expression 3*f(3)+4
  • 16. USER-DEFINED FUNCTION GENERAL FORMAT  After you have defined function f(), you can use it just like any other built-in function. The Python function definition statement has this general format: def <function name> (<0 or more variables>): <indented function body>  A function definition statement starts with the def keyword. Following it is the name of the function; in our example, the name is f.  Following the name and in parentheses are the variable names that stand in for the input arguments, if any.  In function f(), the x in def f(x):  has the same role as x in the math function f(x): to serve as the name for the input value. 7/20/2022 16
  • 17. USER-DEFINED FUNCTION WITH TWO PARAMETERS  To define a function with more than one argument, we need to have a distinct variable name for every input argument.  For example, if we want to define a function called squareSum() that takes two numbers x and y as input and returns the 𝑆𝑢𝑚 𝑜𝑓 𝑡ℎ𝑒𝑖𝑟 𝑠𝑞𝑢𝑎𝑟𝑒𝑠 = 𝑥2 + 𝑦2, we need to define function squareSum() so there is a variable name for input argument x, say x, and another variable name for input argument y, say y: 7/20/2022 17
  • 18. SquareSum USER-DEFINED FUNCTION WITH TWO PARAMETERS 7/20/2022 18 𝑥2 𝑦2 +
  • 19. PRINT( ) VERSES RETURN  As another example of a user-defined function, we develop a personalized hello() function.  It takes as input a name (a string) and prints a greeting: >>> hello(‘Faisal') Hello, Faisal!  We implement this function in the same module as function f(): def hello(name): print('Hello, '+ name + '!') 7/20/2022 19
  • 20. PRINT( ) VERSES RETURN  When function hello() is called, it will print the concatenation of string 'Hello, ', the input string, and string '!'.  Note that function hello() prints output on the screen; it does not return anything.  What is the difference between a function calling print() or returning a value? 7/20/2022 20
  • 21. STATEMENT RETURN VERSUS FUNCTION PRINT( )  A common mistake is to use the print() function instead of the return statement inside a function.  Suppose we had defined our first function f() in this way: def f(x): print(x**2 + 1)  It would seem that such an implementation of function f() works fine: >>> f(2) 5  However, when used in an expression, function f() will not work as expected: >>> 3 * f(2) + 1 5 Traceback (most recent call last): File '<pyshell#103>', line 1, in <module> 3 * f(2) + 1 TypeError: unsupported operand type(s) for *: 'int' and 'NoneType‘  Actually, Python has a name for the “nothing” type: It is the 'NoneType' referred to in the error message shown.  The error itself is caused by the attempt to multiply an integer value with “nothing.” 7/20/2022 21 !
  • 22. FUNCTION DEFINITIONS ARE “ASSIGNMENT” STATEMENTS 7/20/2022 22
  • 23. FIRST DEFINE THE FUNCTION, THEN USE IT  Python does not allow calling a function before it is defined, just as a variable cannot be used in an expression before it is assigned.  Knowing this, try to figure out why running this module would result in an error: print(f(3)) def f(x): return x**2 + 1  Answer: When a module is executed, the Python statements are executed top to bottom. The print(f(3)) statement will fail because the name f is not defined yet. 7/20/2022 23 !
  • 24. CALLING FUNCTION BEFORE INITIALIZATION 7/20/2022 24
  • 25. ANALYZING THE CODE  Will we get an error when running this module? def g(x): return f(x) def f(x): return x**2 + 1  Answer: No, because functions f() and g() are not executed when the module is run, they are just defined. After they are defined, they can both be executed without problems. 7/20/2022 25
  • 26. FUNCTION RETURNING OTHER FUNCTION 7/20/2022 26
  • 27. FUNCTION USING DIFFERENT VARIABLE 7/20/2022 27
  • 28. COMMENTS – SINGLE LINE COMMENT BY #  Python programs should be well documented for two reasons: 1. The user of the program should understand what the program does. 2. The developer who develops and/or maintains the code should understand how the program works. def f(x): res = x**2 + 1 # compute x**2 + 1 and store value in res return res # return value of res 7/20/2022 28
  • 29. COMMENTS – MULTILINE COMMENT BY “””  In Python multiline comments are also used during the time of debugging and restricting a single block of code.  For multiline comments we use “”” , 3 time double quotes. 7/20/2022 29
  • 30. EXECUTION OF FUNCTION G( ) BLOCKED 7/20/2022 30 • As we have used multiline comment on function g( ), It will not interpreted and when calling the function it will generate the error.
  • 31. DOCSTRINGS  Functions should also be documented for the function users. The built-in functions we have seen so far all have documentation that can be viewed using function help(). For example: >>> help(len) Help on built-in function len in module builtins: len(...) len(object) -> integer Return the number of items of a sequence or mapping. 7/20/2022 31
  • 32. DOCSTRINGS  If we use help on our first function g(), surprisingly we get some documentation as well. >>> help(g) Help on function f in module __main__: f(x) 7/20/2022 32
  • 34. ASSIGNMENT # 3 TO BE SUBMITTED BY SOLVING IT ON PYTHON IDLE & EMAIL IT TO ME. REMEMBER TO READ CHAPTER 3 7/20/2022 34
  • 35. PRACTICE PROBLEM 3.1  Translate these conditional statements into Python if statements: (a) If age is greater 62, print 'You can get your pension benefits'. (b) If name is in list ['Musial', 'Aaraon', 'Williams', 'Gehrig', 'Ruth'], print 'One of the top 5 baseball players, ever!'. (c) If hits is greater than 10 and shield is 0, print 'You are dead...'. (d) If at least one of the Boolean variables north, south, east, and west is True, print 'I can escape.'. 7/20/2022 35
  • 36. PRACTICE PROBLEM 3.3  Translate these into Python if/else statements: (a) If year is divisible by 4, print 'Could be a leap year.'; otherwise print 'Definitely not a leap year.' (b) If list ticket is equal to list lottery, print 'You won!'; else print 'Better luck next time...' 7/20/2022 36
  • 37. PRACTICE PROBLEM 3.4  Implement a program that starts by asking the user to enter a login id (i.e., a string). The program then checks whether the id entered by the user is in the list ['joe', 'sue', 'hani', 'sophie'] of valid users. Depending on the outcome, an appropriate message should be printed. Regardless of the outcome, your function should print 'Done.' before terminating. Here is an example of a successful login: Login: joe You are in! Done.  And here is one that is not: >>> Login: john User unknown. Done. 7/20/2022 37
  • 38. PRACTICE PROBLEM 3.5  Implement a program that requests from the user a list of words (i.e., strings) and then prints on the screen, one per line, all four-letter strings in the list. >>> Enter word list: ['stop', 'desktop', 'top', 'post'] stop post 7/20/2022 38
  • 39. PRACTICE PROBLEM 3.6  Write the for loop that will print these sequences of numbers, one per line, in the interactive shell. (a) Integers from 0 to 9 (i.e., 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (b) Integers from 0 to 1 (i.e., 0, 1) 7/20/2022 39
  • 40. PRACTICE PROBLEM 3.7  Write the for loop that will print the following sequences of numbers, one per line. (a) Integers from 3 up to and including 12 (b) Integers from 0 up to but not including 9, but with a step of 2 instead of the default of 1 (i.e., 0, 2, 4, 6, 8) (c) Integers from 0 up to but not including 24 with a step of 3 (d) Integers from 3 up to but not including 12 with a step of 5 7/20/2022 40
  • 41. PRACTICE PROBLEM 3.8  Define, directly in the interactive shell, function perimeter() that takes, as input, the radius of a circle (a nonnegative number) and returns the perimeter of the circle. A sample usage is: >>> perimeter(1) 6.283185307179586 >>> perimeter (2) 12.566370614359172  Remember that you will need the value of (defined in module math) to compute theperimeter. 7/20/2022 41
  • 42. PRACTICE PROBLEM 3.9  Implement function average() that takes two numbers as input and returns the average of the numbers. You should write your implementation in a module you will name average.py.  A sample usage is: >>> average(1,3) 2.0 >>> average(2, 3.5) 2.75 7/20/2022 42
  • 43. PRACTICE PROBLEM 3.10  Implement function noVowel() that takes a string s as input and returns True if no character in s is a vowel, and False otherwise (i.e., some character in s is a vowel). >>> noVowel('crypt') True >>> noVowel('cwm') True >>> noVowel('car') False 7/20/2022 43
  • 44. PRACTICE PROBLEM 3.11  Implement function allEven() that takes a list of integers and returns True if all integers in the list are even, and False otherwise. >>> allEven([8, 0, -2, 4, -6, 10]) True >>> allEven([8, 0, -1, 4, -6, 10]) False 7/20/2022 44
  • 45. PRACTICE PROBLEM 3.12  Write function negatives() that takes a list as input and prints, one per line, the negative values in the list.  The function should not return anything. >>> negatives([4, 0, -1, -3, 6, -9]) -1 -3 -9 7/20/2022 45
  • 46. PRACTICE PROBLEM 3.13  Add appropriate docstrings to functions average() and negatives() from Practice Problems 3.9 and 3.12. Check your work using the help() documentation tool. You should get, for example: >>> help(average) Help on function average in module __main__: average(x, y) returns average of x and y 7/20/2022 46
  • 47. 1ST DETAILED ASSIGNMENT TO BE SOLVED AND GET PRINTOUT , PROPERLY SUBMITTED IN A FILE. (BEFORE 5:00 PM,16 NOV 2018) 7/20/2022 47