The while loop in Python is used to iterate over a block of code as long as the test expression (condition) is true.
We generally use this loop when we don't know beforehand, the number of times to iterate.
Syntax of while Loop
Body of while
In while loop, test expression is checked first. The body of the loop is entered only if the test_expression evaluates to True.
After one iteration, the test expression is checked again. This process continues untill the test_expression evaluates to False.
In Python, the body of the while loop is determined through indentation. Body starts with indentation and the first unindented line marks the end.
Python interprets any non-zero value as True. None and 0 are interpreted as False.
Example: Python while Loop
# Program to add numbers upto n where n is provided by the user
# sum = 1+2+3+...+n
# take input from the user
n = int(input("Enter n: "))
# initialize sum and counter
sum = 0
i = 1
while i <= n:
sum = sum + i
i = i+1 # update counter
# print the sum
print("The sum is",sum)
Enter n: 10
The sum is 55
In the above program, we asked the user to enter a number, n. while loop is used to sum from 1 to that number.
The condition will be True as long as our counter variable i is less than or equal to n. We need to increase the value of counter variable in the body of the loop.
This is very important (and mostly forgotten). Failing to do so will result in an infinite loop (never ending loop). Finally the result is displayed.
while loop with else
Same as that of for loop, we can have an optional else block with while loop as well. The else part is executed if the condition in the while loop evaluates to False.
while loop can be terminated with a break statement. In such case, the else part is ignored. Hence, a while loop's else part runs if no break occurs and the condition
Here is an example to illustrate this.
# Example to illustrate
# the use of else statement
# with the while loop
counter = 0
while counter < 3:
counter = counter + 1
Here, we use a counter variable to print the string Inside loop three times. On the forth iteration, the condition in while becomes False.
Hence, the else part is executed.