Skip to content

Nested While

A while loop inside of the while loop.

Example 1

  • Example scenario: In a week of 7 days, I will eat 3 Meals per day.

nested-while.py

py
day = int(1)

while day <= 7:

    print(f"day {day}")

    meal_in_a_day = int(1)

    while meal_in_a_day <= 3:

        print(f"Meal {meal_in_a_day}")
        meal_in_a_day += 1
        
    day += 1

print("I've alr eaten 3 meals in a week")

Results:

day 1
Meal 1
Meal 2
Meal 3
day 2
Meal 1
Meal 2
Meal 3
day 3
Meal 1
Meal 2
Meal 3
day 4
Meal 1
Meal 2
Meal 3
day 5
Meal 1
Meal 2
Meal 3
day 6
Meal 1
Meal 2
Meal 3
day 7
Meal 1
Meal 2
Meal 3
I've alr eaten 3 meals in a week

Example 2

Example: 9x9 Multiple Table


Similar Pattern

  • in n line, it always start with 1 * n = x; 2 * n = x; ... * n = ...x
  • if n = 1, item in a row = 1 (n = number of items in a row)
  • max row = 9

nested-while-2.py

let i = row (max i = 9) = (in i row, number of items = i)

py
# 9 x 9 Multiply table

# i = row = (max row = 9)
i = 1

while i <= 9:

    j = 1 # items in a row

    while j <= i:
        print(f"{j}*{i}={i * j}", end=" ")
        j += 1
    print("")

    i += 1

INFO

Reference: 9x9 multiply table using for loop method.


Results:

1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81