Python while loop [With Easy Examples]

Filed Under: Python

In this tutorial, we will cover the basics of Python while loop. This is a similar one to the Python for loop with one difference. You can use the while loop where you do not know the number of iterations beforehand. So until the condition specified to the loop is true, the loop will run.

Syntax of the while loop in Python

As we’ve already discussed, the while loop takes a single condition. When the condition evaluates to true, the while loop will continue to run. As soon as the condition is no longer true, the loop stops.

So in this case, if you create a loop with the condition as “TRUE”, the loop will run infinitely until a break or continue statement is added.

While condition :
	#Start of the statements
	Statement
	. . . . . . .
	Statement
	#End of the Statements
else :
	#this scope is optional
        #This statements will be executed if the condition
	#written to execute while loop is false

1. Simple example of the while loop

For example, the following code will give you some ideas about the while loop. In this example, we are printing numbers from 1 to 4 inside loop and 5 in outside of the loop

cnt=1 #this is the initial variable
while cnt < 5 :
        #inside of while loop
        print (cnt,"This is inside of while loop")
        cnt+=1
else :
        #this statement will be printed if cnt is equals to 5
        print (cnt, "This is outside of while loop")

Output
python while loop

To give you a real-world example, let’s try to create a loop where we want to print out individual characters of a word here. We’ve already performed this example with the for loop, but this one will work with the while loop.

word="anaconda"
pos=0 #initial position is zero
while pos < len(word) :
	print (word[pos])
	#increment the position after printing the letter of that position
	pos+=1 

Output
python while loop example

The benefit of the while loops in Python is that you can ignore the number of iterations and break the condition as soon as a specific task is complete.

2. Python Nested while loop

Let’s start working with a nested while loop in this case. A nested while loop helps you work with the iterator variable while the loop continues to run. Take a look at the example below:

line=1 #this is the initial variable
while line <= 5 :
        pos = 1
        while pos < line:
 
                #This print will add space after printing the value
                print pos
                #increment the value of pos by one
                pos += 1
        else:
                #This print will add newline after printing the value
                print pos
        
        #increment the value of line by one
        line += 1

Output:

1
1
2
1
2
3
1
2
3
4
1
2
3
4
5

3. An infinite while loop

As we mentioned earlier, the while loop in Python works on a single condition. And as long as the condition evaluates to true, the loop continues to run.

And that’s where a problem arises – The infinite while loop problem.

Take a look at the example below:

var = 100
while var == 100 :  # an infinite loop
   data = input("Enter something:")
   print ("You entered : ", data)

print ("Good Bye Friend!")

If you run the above program, it will never end and you will have to kill it using the Ctrl+C keyboard command.

>>>
================= RESTART: /Users/pankaj/Desktop/infinite.py =================
Enter something:10
You entered :  10
Enter something:20
You entered :  20
Enter something:
Traceback (most recent call last):
  File "/Users/pankaj/Desktop/infinite.py", line 3, in <module>
    data = input("Enter something:")
KeyboardInterrupt
>>>

Conclusion

That’s all to the Python while loop. We continue to cover a lot more advanced Python tutorials if you’re interested. Read this article if you’re interested in getting started with Machine learning in Python.

Comments

  1. ujjwal anand says:

    a
    ab
    adc
    adcde
    using while loop can you do this for me

  2. Minh says:

    Does the “else” branch in while loop have the same properties like “else” in for loop?
    I mean that if while loop does not end normally, it will not go to “else” branch, doesn’t it?

  3. Jason says:

    There is a slight error in the first example. I think you are going for the following as oppose to what you currently have:


    print(cnt, “This is inside of while loop”)
    else:
    print(cnt, “This is outside of while loop”)

    Additionally, you have typo in the following, I think it was an oversight while creating these awesome tutorials:
    cnt+=1;

    1. Pankaj says:

      Ah, thanks for the comment and let me know about these subtle errors. I have fixed them in the code.

  4. Anil says:

    1
    1 2
    1 2 3
    1 2 3 4
    1 2 3 4 5
    Can you share me logic for above with WHILE loop please

    1. Jason says:

      The logic above doesn’t output the accurate result. Here is how I got the desired result:
      line = 1

      while line <= 5:
      pos = 1
      output = ""

      while pos <= line:
      output += str(pos) + " "
      pos += 1
      else:
      print(output)

      line += 1

      Let me know if this helped.

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages