for Loop in Pythonfor Loops in Other Languagesfor Loopsrange Functionrangerangerange Valuesrange function?for Loops that Don't Use the Loop Valuefor Loopfor Loopfor Loop to Create a TableAre there any questions before I begin?
I have posted homework 5 here.
It is due this coming Sunday at 11:59 PM.
I have posted the answers to Quiz 3 here.
Truewhile Loopswhile loop keeps repeating as long as its
boolean expression
is True
while BOOLEAN_EXPRESSION:
STATEMENT
STATEMENT
...
while loop whenever we do not know ...Falsewhile loop ...False ...
>>> while True:
... print("Hello there!")
...
Hello there!
Hello there!
...
IT 116: Introduction to Scripting - Class 10
IT 116: Introduction to Scripting
Class 10
Review
for Loop in Pythonfor Loops in Other Languagesfor Loopsrange Functionrangerangerange Valuesrange function?for Loops that Don't Use the Loop Valuefor Loopfor Loopfor Loop to Create a TableAre there any questions before I begin?
I have posted homework 5 here.
It is due this coming Sunday at 11:59 PM.
I have posted the answers to Quiz 3 here.
Truewhile Loopswhile loop keeps repeating as long as its
boolean expression
is True
while BOOLEAN_EXPRESSION:
STATEMENT
STATEMENT
...
while loop whenever we do not know ...Falsewhile loop ...False ...
>>> while True:
... print("Hello there!")
...
Hello there!
Hello there!
...
Hello there!
^CTraceback (most recent call last):
File "<stdin>", line 2, in <module>
KeyboardInterrupt
>>>
Garbage in Garbage out
while loop is in data validation
set a flag to False
while the flag is not True
get input from the user and store in a variable
if the input value is good
set the flag to true
else:
print an error message
done = False
while not done:
value = int(input("Please enter an integer greater than 0: "))
if value > 0:
done = True
else:
print(value, "is less than 0")
print(value, "is greater than 0")
distance = speed_of_vehicle * time_traveled_today \
+ distance_of_starting_point
is two lines ...
for Loop in Pythonfor loopfor loop in other computer
languages
for loops workfor Loops in Other Languagesfor loopfor ...
True
for ($i = 1; $i <= 10; $i++) {
print "$i\n";
}
| Entry | Purpose | When Run |
|---|---|---|
$i = 1 |
Gives the loop variable its first value | Once, before the code block is run for the first time |
$i <= 10 |
Decides whether the code block is run | Before running the statements in the code block |
i++ |
Changes the value of the loop variable | After the last statement in the code block, but before running the loop test |
for Loopsfor loopfor loop has the following format
for VARIABLE_NAME in LIST_OF_VALUES:
STATEMENT
STATEMENT
...
while loopfor keyword is followed by a variablein keyword followed by a list of valuesfor loop ...
$ cat powers_of_2.py
# this program uses a for loop to print the powers of 2
# from 1 to 10
for number in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
value = 2 ** number
print("2 to the power", number, "is", value)
$ python3 powers_of_2.py
2 to the power 1 is 2
2 to the power 2 is 4
2 to the power 3 is 8
2 to the power 4 is 16
2 to the power 5 is 32
2 to the power 6 is 64
2 to the power 7 is 128
2 to the power 8 is 256
2 to the power 9 is 512
2 to the power 10 is 1024
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]is a list
for loop ...for loop in other languagesfor loops makes some things easierfloat
$ cat return.py
# prints the return on $1000 for different rates of interest
principle = 1000
for rate in [.01, .02, .03, .04, .05, .06, .07, .08, .09]:
new_value = principle * (1 + rate)
print(f"""The return on $1000 at {rate:.0%} is ${new_value:.0f}""")
$ python3 return.py
The return on $1000 at 1% is $1010
The return on $1000 at 2% is $1020
The return on $1000 at 3% is $1030
The return on $1000 at 4% is $1040
The return on $1000 at 5% is $1050
The return on $1000 at 6% is $1060
The return on $1000 at 7% is $1070
The return on $1000 at 8% is $1080
The return on $1000 at 9% is $1090
$ cat rainbow.py
# prints the colors of the rainbow
print("The colors of the rainbow are")
for color in ["Red", "Orange", "Yellow", "Green","Blue", "Indigo", "Violet"]:
print(color)
$ python3 rainbow.py
The colors of the rainbow are
Red
Orange
Yellow
Green
Blue
Indigo
Violet
$ cat types.py
# prints the type of different values
for value in [1, 1.0, "one", True]:
print("The data type of", value, "is", type(value))
$ python3 types.py
The data type of 1 is <class 'int'>
The data type of 1.0 is <class 'float'>
The data type of one is <class 'str'>
The data type of True is <class 'bool'>
range Functionrange function to make this easyrange function creates a special kind of list ...>>> for number in range(10): ... print(number) ... 0 1 2 3 4 5 6 7 8 9
rangerange function works this wayrange>>> for number in range(1, 11): ... print(number) ... 1 2 3 4 5 6 7 8 9 10
>>> for number in range(11, 21): ... print(number) ... 11 12 13 14 15 16 17 18 19 20
rangefor loop
changes the loop variable ...
range function as well range function with one or two argumentsrange a third argumentrange how much to add to each value ...range
>>> for number in range(2, 11, 2): ... print(number) ... 2 4 6 8 10
>>> for number in range(3, 22, 3): ... print(number) ... 3 6 9 12 15 18 21
range Valuesrange were increasingrange negative>>> for number in range(10, 2, -1): ... print(number) ... 10 9 8 7 6 5 4 3
>>> for number in range(10, 0, -1): ... print(number) ... 10 9 8 7 6 5 4 3 2 1
range function?range function?
$ cat perl_evens.pl
for ($i=2; $i <= 10; $i+=2) {
print "$i\n";
}
$ perl perl_evens.pl
2
4
6
8
10
range function
>>> for number in range(2, 11, 2): ... print(number) ... 2 4 6 8 10
range function in Python provides integer loop variable valuesfor
loop ...
range functionfor loop more powerfulfor loops do in other languages ...
$ cat al_east_teams_1.py
# prints the teams in the American league
print("Here are the teams in the American League East")
for team in ["Boston Red Sox", "Baltimore Orioles", "Toronto Blue Jays", "Tampa Rays", "New York Yankees"]:
print(team)
$ python3 al_east_teams_1.py
Here are the teams in the American League East
Boston Red Sox
Baltimore Orioles
Toronto Blue Jays
Tampa Rays
New York Yankees
for Loops that Don't Use the Loop Valuefor loop to do something a certain number of times ...range function ...range ...
>>> for number in range(5):
... print("Go Red Sox!")
...
Go Red Sox!
Go Red Sox!
Go Red Sox!
Go Red Sox!
Go Red Sox!
range to loop 5 timesif statement inside another
if statementfor loop or a while loopfor loops are more commonfor loops you must use different names ...
$ cat times_table.py
# This script creates a times table using nested for loops
for row in range(1, 11):
for column in range(1, 11):
entry = row * column
print(entry, end="\t")
print()
$ python3 times_table.py
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
print inside the innermost loop may seem oddprint statement
move down to the next line
print argument
end ...
for Loopfor loops are often used to perform calculation with numbers
set a variable total to 0
for each number in the list:
add the number to total
$ cat for_total.py
# totals the numbers in a list
total = 0
for value in [56, 89, 43, 65, 32, 14, 57]:
total = total + value
print(total)
for loop tells Python to
for Loopfor loops can also be used to find the average using the following
formula
average = total/number_of_values
set a the variable total to 0
set the variable count to 0
for each number in the list:
add 1 to the count
add the number to total
average = total/count
$ cat for_average_1.py
# averages the numbers in a list
total = 0
count = 0
for value in [56, 89, 43, 65, 32, 14, 57]:
count = count + 1
total = total + value
average = total/count
print(average)
$ python3 for_average_1.py
50.857142857142854
round functionround with one argument >>> round(56235.47553653) 56235
round with a 2nd argument, an integer ...>>> round(56235.47553653, 2) 56235.48
$ cat for_average_2.py
# averages the numbers in a list
total = 0
count = 0
for value in [56, 89, 43, 65, 32, 14, 57]:
count = count + 1
total = total + value
average = round(total/count, 2)
print(average)
$ python3 for_average_2.py
50.86
for Loop to Create a Tablefor loop can be used to create tables| Planet | Distance from Sun in AU |
|---|---|
| Mercury | 0.39 |
| Venus | 0.72 |
| Earth | 1 |
| Mars | 1.52 |
| Jupiter | 5.2 |
| Saturn | 9.54 |
| Uranus | 19 |
| Neptune | 30.o6 |
for loop to construct a conversion tablefor parsec in range(1,11): ly = 3.26 * parsec au = 206265 * parsec print(parsec, ly, au)
1 3.26 206265 2 6.52 412530 3 9.78 618795 4 13.04 825060 5 16.299999999999997 1031325 6 19.56 1237590 7 22.82 1443855 8 26.08 1650120 9 29.339999999999996 1856385 10 32.599999999999994 2062650
round to the calculation
for parsec in range(1,11):
ly = round(3.26 * parsec)
au = 206265 * parsec
print(parsec, ly, au)
1 3 206265 2 7 412530 3 10 618795 4 13 825060 5 16 1031325 6 20 1237590 7 23 1443855 8 26 1650120 9 29 1856385 10 33 2062650
for parsec in range(1,11): ly = round(3.26 * parsec) au = 206265 * parsec line = str(parsec) + "\t" + str(ly) + "\t" + str(au) print(line)
1 3 206265 2 7 412530 3 10 618795 4 13 825060 5 16 1031325 6 20 1237590 7 23 1443855 8 26 1650120 9 29 1856385 10 33 2062650
print("Parsec" + "\t" + "LYear" + "\t" + "AU") print("----------------------") for parsec in range(1,11): ly = round(3.26 * parsec) au = 206265 * parsec line = str(parsec) + "\t" + str(ly) + "\t" + str(au) print(line)
Parsec LYear AU ---------------------- 1 3 206265 2 7 412530 3 10 618795 4 13 825060 5 16 1031325 6 20 1237590 7 23 1443855 8 26 1650120 9 29 1856385 10 33 2062650
while loopsfor loopsfor or while loop