"""
Learning Goals:
 - Use while loops when reading and writing algorithms to repeat actions while a certain condition is met
 - Identify start values, continuing conditions, and update actions for loop control variables
 - Translate algorithms from control flow charts to Python code
 - Use nesting of statements to create complex control flow
"""

i = 1
while i < 5:
    print(i)
    i = i + 1
print("done")

###

i = 0
while i < 5:
    i = i + 1 # moved up one line
    print(i)
print("done")

###

num = 1
while num <= 10:
    print(num)
    num = num + 1

###

num = 10
while num >= 1:
    print(num)
    num = num - 1

###

x = 2
while x <= 100:
    print(x)
    x = x + 2

###

result = 0
num = 1
while num <= 10:
    result = result + num
    num = num + 1
print(result)

###

zombies = 1
population = 7.5 * 10**9
days = 0
while zombies < population:
    days = days + 1
    zombies = zombies * 2
print(days)

###

num = 2020
power = 1
digits = 0
while power < num:
    digits = digits + 1
    power = power * 10
print(digits)

###

num = 2020
digits = 0
while num > 0:
    digits = digits + 1
    num = num // 10
print(digits)

###

row = 0
while row < 5:
    if row % 2 == 0:
        print("x-x-x")
    else:
        print("-o-o-")
    row = row + 1