Learn about programming Loops in Python: There are two types of loops in Python, for and while.
The “for” loop
For loops iterate over a given sequence. Here is an example:
primes = [2, 3, 5, 7] for prime in primes: print(prime)
Trinket.io on-line Python compiler
For loops can iterate over a sequence of numbers using the “range” and “xrange” functions. The difference between range and xrange is that the range function returns a new list with numbers of that specified range, whereas xrange returns an iterator, which is more efficient. (Python 3 uses the range function, which acts like xrange). Note that the range function is zero-based.
# Prints out the numbers 0,1,2,3,4 for x in range(5): print(x) # Prints out 3,4,5 for x in range(3, 6): print(x) # Prints out 3,5,7 for x in range(3, 8, 2): print(x)
Trinket.io on-line Python compiler
“while” loops
While loops repeat as long as a certain Boolean condition is met. For example:
# Prints out 0,1,2,3,4 count = 0 while count < 5: print(count) count += 1 # This is the same as count = count + 1
Trinket.io on-line Python compiler
“break” and “continue” statements
The break is used to exit a for loop or a while loop, whereas continue is used to skip the current block, and return to the “for” or “while” statement. A few examples:
# Prints out 0,1,2,3,4 count = 0 while True: print(count) count += 1 if count >= 5: break # Prints out only odd numbers - 1,3,5,7,9 for x in range(10): # Check if x is even if x % 2 == 0: continue print(x)
Trinket.io on-line Python compiler
Can we use “else” clause for loops?
Unlike languages like C, CPP, etc… we can use else for loops. When the loop condition of “for” or “while” statement fails then code part in “else” is executed. If break statement is executed inside for loop then the “else” part is skipped. Note that “else” part is executed even if there is a continue statement.
Here are a few examples:
# Prints out 0,1,2,3,4 and then it prints "count value reached 5" count=0 while(count<5): print(count) count +=1 else: print("count value reached %d" %(count)) # Prints out 1,2,3,4 for i in range(1, 10): if(i%5==0): break print(i) else: print("this is not printed because for loop is terminated because of break but not due to fail in condition")
Trinket.io on-line Python compiler
Exercise
Loop through and print out all even numbers from the numbers list in the same order they are received. Don’t print any numbers that come after 237 in the sequence.
numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # this is the answer code. for number in numbers: if number == 237: break if number % 2 == 1: continue print(number)
Trinket.io on-line Python compiler
Related Videos:
Related Posts:
Learn Code Introspection Python Programming
Learn Multiple Function Arguments in Python
Learn Modules and Packages in Python programming
Comparing Python to other languages
Learn List Comprehensions in Python Programming
Learn Partial functions Python programming
Exception Handling in Python programming
Why Python is the cooler programming language