While Loops in Python

Welcome to our lesson on while loops in Python! In programming, loops are essential for automating repetitive tasks.

Today, we'll focus on while loops, one of the two main loop constructs in Python.

Basic Syntax

While loops are used when the number of iterations is not known beforehand or depends on a condition.

Let's dive into the basic syntax:


while condition:
    # code to be executed
    # (indentation is crucial)

Remember, indentation in Python determines the scope of code blocks. The condition is evaluated at the beginning of each iteration. If it's True, the indented code block is executed.

Example: Counting Up To A Number


number = int(input("Enter a number: "))
count = 1
while count <= number:
    print(count)
    count += 1

We initialize a count variable and iterate until it reaches the user-specified number. Pay attention to how the count variable is incremented within the loop.

The else Statement

With the else statement, we can run a block of code once when the condition no longer is true:


i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

Control Statements: break and continue

Control statements like break and continue offer flexibility within loops. break allows exiting prematurely, while continue skips the current iteration.


# Example using break
while True:
    # Some condition
    if condition_met:
        break

# Example using continue
while condition:
    # Some condition
    if condition_met:
        continue
    # Code here is skipped if condition_met

While Loops Practice and Applications

1. Counting up


count = 1
while count <= 5:
    print(count)
    count += 1

2. Counting down


count = 5
while count >= 1:
    print(count)
    count -= 1

3. Sum of Numbers


# Calculating the sum of numbers from 1 to 10
sum = 0
num = 1
while num <= 10:
    sum += num
    num += 1
print("The sum is:", sum)

4. Factorial Calculator

Create a program that calculates the factorial of a given number using a while loop.


# Input the number
num = int(input("Enter a number: "))

factorial = 1
i = 1

while i <= num:
    factorial *= i
    i += 1

print("Factorial of", num, "is", factorial)

5. Sum of Digits

Create a program that calculates the sum of digits of a given number. e.g 123 = 1+2+3= 6


num = int(input("Enter a number: "))

sum_of_digits = 0

while num > 0:
    digit = num % 10
    sum_of_digits += digit
    num //= 10

print("Sum of digits:", sum_of_digits)


6. Print a asterisks Pattern


# print below pattern
# *
# **
# ***
rows = int(input("Enter the number of rows: "))
i = 1
while i <= rows:
    print("*" * i)
    i += 1

7. Sum of Even Numbers

Create a program that calculates the sum of even numbers from 1 to a given number.



num = int(input("Enter a number: "))
sum_even = 0
i = 2  

while i <= num:
    sum_even += i
    i += 2 

print("Sum of even numbers from 1 to", num, "is", sum_even)

8. Reverse a Number

Create a program that reverses a given number.



# input 1234 output - 4321
num = int(input("Enter a number: "))

reversed_num = 0

while num > 0:
    digit = num % 10
    reversed_num = reversed_num * 10 + digit
    num //= 10

print("Reversed number:", reversed_num)


9. Fibonacci Series


# Fibonacci series 1, 1, 2, 3, 5, 8 upto n number
n = int(input("Enter the number of terms: "))
a, b = 0, 1
count = 0

print("Fibonacci series:")
while count < n:
    print(a, end=" ")
    nth = a + b
    a = b
    b = nth
    count += 1

10. Palindrome Checker


# Palindrome checker

word = input("Enter a word: ")
word = word.lower()
start = 0
end = len(word) - 1

is_palindrome = True

while start < end:
    if word[start] != word[end]:
        is_palindrome = False
        break
    start += 1
    end -= 1

if is_palindrome == True:
    print("It's a palindrome!")
else:
    print("It's not a palindrome.")


11. Printing pattern


# Printing a pattern using while loop
# 1
# 12
# 123
i = 1
while i <= 4:
    j = 1
    while j <= i:
        print(j, end="")
        j += 1
    print()
    i += 1