Print numbers 1 through 7
print(1)
1
print(2)
2
print(3)
3
print(4)
4
print(5)
5
print(6)
6
print(7)
7
That's way too much work!
We can simplify this with a for loop over a range.
for loops
In Python, for loops are written like this:
for item in iterable_object:
# do something with item
for loops with ranges
for number in range(1, 8):
print(number)
1
1
2
3
4
5
6
7
2
3
4
5
6
7
number = 1
number = 2
number = 3
number = 4
number = 5
number = 6
number = 7
Let's print numbers 1 - 7 using our knowledge of looping thru ranges.
ranges
If we just want to print numbers, we can simply iterate over a range.
A range is just a slice of the number line.
0
1
2
3
4
5
6
Python ranges come in multiple forms:
range(7) gives you integers from 0 thru 6 ( shown)
range(1, 8) will give you integers from 1 to 7
range(1, 10, 2) will give you odds from 1 to 10
Count starts at 0 and is exclusive
Two parameters are (start, end)
Third param is called the "step", meaning how many to skip. Also, which way to count, up + or down -
range(7, 0, -1) will give you integers from 7 to 1
How many times do I have to tell you? 3
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
How many times do I have to tell you? 5
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
Is good for you
Loop through numbers 1-20
1 is odd
2 is even
3 is odd
4 is UNLUCKY!
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even
11 is odd
12 is even
13 is UNLUCKY!
14 is even
15 is odd
16 is even
17 is odd
18 is even
19 is odd
20 is even
while loops
We can also iterate using a while loop, which has a different format:
while im_tired:
# seek caffeine
while loops continue to execute while a certain condition is truthy, and will end when they become falsy.
while loops require more careful setup than for loops, since you have to specify the termination conditions manually.
Be careful! If the condition doesn't become false at some point, your loop will continue forever!
user_response = None
while user_response != "please":
user_response = input("Ah ah ah, you didn't say the magic word: ")
while loop exercise
Print the following beautiful art using both a for loop and a while loop:
😀
😀😀
😀😀😀
😀😀😀😀
😀😀😀😀😀
😀😀😀😀😀😀
😀😀😀😀😀😀😀
😀😀😀😀😀😀😀😀
😀😀😀😀😀😀😀😀😀
print("\U0001f600")
The"Colt talking to his sister" Exercise
Hey how's it going? pretty good, you?
pretty good, you?
hahah
hahah
ok very funny
ok very funny
stop copying me
UGH FINE YOU WIN
repeat everything until the user says "stop copying me"
Controlled Exit
while True:
command = input("Type 'exit' to exit: ")
if (command == "exit"):
break
We can also use it to end for loops early:
The keyword break gives us the ability to exit out of while loops whenever we want:
for x in range(1, 101):
print(x)
if x == 3:
break
times = int(input("How many times do I have to tell you? "))
for time in range(times):
print("CLEAN UP YOUR ROOM!")
if time >= 4:
print("do you even listen anymore?")
break
How many times do I have to tell you? 100
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
CLEAN UP YOUR ROOM!
do you even listen anymore?
Guess a number between 1 and 10: 1
Too low, try again!
Guess a number between 1 and 10: 10
Too high, try again!
Guess a number between 1 and 10: 22
Too high, try again!
Guess a number between 1 and 10: 8
Too high, try again!
Guess a number between 1 and 10: 7
Too high, try again!
Guess a number between 1 and 10: 6
Too high, try again!
Guess a number between 1 and 10: 5
You guessed it! You won!
Do you want to keep playing? (y/n) y
GUESSING GAME
break