Download presentation
Presentation is loading. Please wait.
Published byMerry Evans Modified over 8 years ago
1
Python – Part 4 Conditionals and Recursion
2
Conditional execution If statement if x>0:# CONDITION print (‘x is positive’) Same structure as function definition -Header -Indented block -No limit on number of statements in the body (but at least one)
3
Alternative execution if – else statement if x%2==0: print (‘x is even’) else: print (‘x is odd’) -Exactly one of the alternatives executed -Alternatives are called branches
4
Chained conditionals if-elseif statement if x<y: print (‘x is less than y’) elif x>y: print (‘x is greater than y’) else: print (‘x and y are equal’) - Exactly one branch executed (no limit on number of elseif stmts). If there is else must be at the end
5
Loops What is a loop for? – To repeat a piece of code over and over. – Examples: Iterating through an array (sum, search, print, etc.) Run the main program loop (i.e. keep asking for user input until the program is over.) Etc. 5
6
While Statement New keyword while Syntax while ( condition ): expression1 expression2 … 6 MUST end with colon. MUST have indentation.
7
While execution: – Perform test – If test true, go to body. Execute body expressions. At the end of the block, go back to test. – If test is false, go on. 7 while ( condition ): expression1 expression2 … next expression
8
The ingredients of a loop: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 8 1.Initialize loop variable outside of the loop. 2.Define loop condition. 3.Do loop work. 4.Change the loop variable.
9
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 9 Execution: 1.Loop variable, n, set to 0 outside the loop. 2.Perform test: 0 <=5 True. So we enter loop. 3.Print n (so, we print 0) 4.Change n from 0 to 1. 5.Go back to test. 0 OUTPUT
10
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 10 Execution: 6.Perform test: 1 <=5 True. So we enter loop. 7.Print n (so, we print 1) 8.Change n from 1 to 2. 9.Go back to test. 0101 OUTPUT
11
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 11 Execution: 10.Perform test: 2 <=5 True. So we enter loop. 11.Print n (so, we print 2) 12.Change n from 2 to 3. 13.Go back to test. 012012 OUTPUT
12
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 12 Execution: 14.Perform test: 3 <=5 True. So we enter loop. 15.Print n (so, we print 3) 16.Change n from 3 to 4. 17.Go back to test. 01230123 OUTPUT
13
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 13 Execution: 18.Perform test: 4 <= 5 True. So we enter loop. 19.Print n (so, we print 4) 20.Change n from 4 to 5. 21.Go back to test. 0123401234 OUTPUT
14
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 14 Execution: 22.Perform test: 5 <= 5 True. So we enter loop. 23.Print n (so, we print 5) 24.Change n from 5 to 6. 25.Go back to test. 012345012345 OUTPUT
15
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Out Of LOOP!” 15 Execution: 26.Perform test: 6 <= 5 False. Skip the loop. 27.Print “Out of LOOP!” 0 1 2 3 4 5 Out of LOOP! OUTPUT
16
Example 1: n = 0 while ( n <= 5 ): print n n = n + 1 print “Blast off!” 16 Key points: 1.Initialize loop variable outside of the loop. 2.Determine loop condition. 3.Do loop work. 4.Change the test value.
17
Example 1: n = 1 while ( n <= 5 ): print n # n = n + 1 print “Blast off!” – What would happen if we didn’t change the loop variable? The loop condition would never become false. 17
18
Infinite loop – When the test condition never has the chance to become False, you have an infinite loop. – World’s simplest infinite loop: while ( True ): print “hi” Other possible infinite loops? 18
19
Infinite loop n = 5 while ( n < 6 ): print n n = n - 1 print “Blast off!” – n must always be less than 10. 19
20
Infinite loop n = 5 while ( n != 0 ): print n n = n - 2 print “Blast off!” – n will never reach the value 0: 9, 7, 5, 3, 1, -1, -2, etc. 20
21
Infinite loop n = 5 while ( n >= 0 ): print n n = n - 2 print “Blast off!” – Not an infinite loop. When n reaches -1, the test wil no longer be true. 21
22
Recursion One function calls itself def countdown(n): if n <= 0: print ('Blastoff!' ) else: print (n) countdown(n-1) -What happens if we call ->>> coundown (3)
23
Recursion def print_n(s, n): if n <= 0: return print (s) print_n(s, n-1) -return statement exits the function -Base case -Recursive (general) case
24
Infinite recursion Recursion never reaches a base case def recurse(): recurse()
25
Keyboard input Built-in function called input (previous versions raw_input) Program stops and waits for the user to type something Value pressed returned to program as a string Good idea to print a prompt telling user what to input
26
Keyboard input >>>name =input (‘What is your name?\n’) Arthur, King of the Britons! >>>print (name) Arthur, King of the Britons! \n represents a newline
27
Keyboard input >>> prompt = 'What is the velocity?\n' >>> speed = input(prompt) What is the velocity? 17 >>> int(speed) 17
28
Part 4 End
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.