lecture 04 more iteration, nested loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · lecture 04...

54
Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Lecture 04More Iteration, Nested Loops

1

Meet UTA Jarrett’s dog Greta, lying in her “nest”

Page 2: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Indefinite Loops

Based in part on notes from the CS-for-All curriculumdeveloped at Harvey Mudd College

2

Chase tail

Got tail!

Rest

Almost got it...

Page 3: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

So far: Two Types of for Loops

def sum(vals): result = 0 for x in vals: result += x return result

element-based loop

Both are examples of definite loops (i.e., fixed number of iterations)

vals = [3, 15, 17, 7]

x

i

0 1 2 3

vals[3]vals[2]vals[1]vals[0]

vals = [3, 15, 17, 7]

def sum(vals): result = 0 for i in range(len(vals)): result += vals[i] return result

index-based loop

3

Page 4: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Indefinite Loops

• Use an indefinite loop when the # of repetitions you need is:

• not obvious or known

• impossible to determine before the loop begins, e.g.,• Finding an element• Computing an estimate up to some error bound• Playing a game of rock, paper, scissors (as opposed to one round)

• Toy problem: print_multiples(n, bound)• should print all multiples of n that are less than bound• output for print_multiples(9, 100):

9 18 27 36 45 54 63 72 81 90 99

4

Page 5: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Rock, Paper, Scissors, Lizard, Spock

5

Page 6: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Indefinite Loop for Printing Multiples

while loops are how you code indefinite loops in Python:

def print_multiples(n, bound): mult = n while mult < bound: print(mult, end=" ") mult = mult + n print()

6

Page 7: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

while Loops

while <loop test>: <body of the loop>

Steps:

1. evaluate the loop test(a boolean expression)

2. if it's True, execute the statements in the body, and go back to step 1

3. if it's False, skip the statements in the bodyand go to the statementafter the loop

loop test

False

True

7

Page 8: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Tracing a while Loop

• Let's trace the loop for print_multiples(15, 70):

mult = nwhile mult < bound:

print(mult, end=' ') mult = mult + n

print()

mult < bound output thus far mult

n bound

8

Prints everything on the same line with spaces in between! Neat!

Page 9: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Tracing a while Loop

• Let's trace the loop for print_multiples(15, 70):

mult = nwhile mult < bound:

print(mult, end=' ') mult = mult + n

print()

mult < bound output thus far mult 15

15 < 70 (True) 15 3030 < 70 (True) 15 30 4545 < 70 (True) 15 30 45 6060 < 70 (True) 15 30 45 60 75

75 < 70 (False)so we exit the loop and print()

n bound

9

Page 10: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Important!

• In general, a while loop's test includes a key "loop variable".

• We need to update that loop variable in the body of the loop.

• Failing to update it can produce an infinite loop!

• Recall the loop in print_multiples:

mult = nwhile mult < bound:

print(mult, end=' ') mult = mult + n

What is the loop variable?Where is it updated?

10

Page 11: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Important!

• In general, a while loop's test includes a key "loop variable".

• We need to update that loop variable in the body of the loop.

• Failing to update it can produce an infinite loop!

• Recall the loop in print_multiples:

mult = nwhile mult < bound:

print(mult, end=' ') mult = mult + n

What is the loop variable? mult Where is it updated? In the body of the loop

11

Page 12: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Important!

• In general, a while loop's test includes a key "loop variable".

• We need to update that loop variable in the body of the loop.

• Failing to update it can produce an infinite loop!

• Showing every iteration makes progress towards making the while loop condition false is one way to show a while loop will terminate

12

Page 13: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Factorial Using a while Loop

• We don't need an indefinite loop, but we can still use while!

def fac(n): result = 1 while n > 0: result *= n ____________ # what do we need here? return result

• Let's trace fac(4):

n n > 0 result

13

Page 14: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Factorial Using a while Loop

• We don't need an indefinite loop, but we can still use while!

def fac(n): result = 1 while n > 0: result *= n n = n – 1 return result

• Let's trace fac(4):

n n > 0 result

14

Page 15: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Factorial Using a while Loop

• We don't need an indefinite loop, but we can still use while!

def fac(n): result = 1 while n > 0: result *= n n = n – 1 return result

• Let's trace fac(4):

n n > 0 result 4 1

4 4 > 0 (True) 1*4 = 43 3 > 0 (True) 4*3 = 122 2 > 0 (True) 12*2 = 241 1 > 0 (True) 24*1 = 240 0 > 0 (False)

so we exit the loop and return 24

15

Page 16: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Factorial Four Ways!

def fac(n): if n == 0: return 1 else: rest = fac(n-1) return n * rest

def fac(n): result = 1 for x in range(1, n+1): result *= x return result

def fac(n): return reduce(lambda x,y : x*y,\ range(1,max(2,n+1)))

map

recursion for loop

def fac(n): result = 1 while n > 0: result *= n n = n - 1 return result

while loop

16

More on these later!

Page 17: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Extreme Looping!

• What does this code do?

print('It keeps')

while True: print('going and')

print('Phew! Done!')

17

Page 18: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Extreme Looping!

• What does this code do?

print('It keeps')

while True: print('going and')

print('Phew! Done!') # never gets here!

• An infinite loop!

Use Ctrl-C to stop a program inside python

Use W-F2 to stop a program in PyCharm

18

Page 19: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Breaking Out of A Loop

import random

while True: print('Help!') if random.choice(range(10000)) == 111:

break print('Let me out!')

print('At last!')

• What are the final two lines that are printed?

19

Page 20: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Breaking Out of A Loop

import random

while True: print('Help!') if random.choice(range(10000)) == 111:

break print('Let me out!')

print('At last!')

• What are the final two lines that are printed?

Help!At last!

• How could we count the number of repetitions?

20

Page 21: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Counting the Number of Repetitions

import random

count = 1while True: print('Help!')

if random.choice(range(10000)) == 111: break

print('Let me out!')count += 1

print('At last! It took', count, 'tries to escape!')

21

Page 22: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Important!

• In general, a while loop's test includes a key "loop variable".

• We need to update that loop variable in the body of the loop.

• Failing to update it can produce an infinite loop!

• Can rely on a statistical argument (e.g., rock, paper, scissors)

• Counting the number of iterations and exiting after a maximum has been reached is a safer way to loop indefinitely

22

Page 23: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Counting the Number of Repetitions

import random

count = 1while count<=5000: print('Help!')

if random.choice(range(10000)) == 111: break

print('Let me out!')count += 1

print('At last! It took', count, 'tries to escape!')

23

Page 24: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

a = 40while a > 2: a = a // 2 print(a - 1)

How many values does this loop print?

a > 2 a prints

A. 2B. 3C. 4D. 5E. none of these

24

Page 25: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

a = 40while a > 2: a = a // 2 print(a - 1)

How many values does this loop print?

a > 2 a prints40

True 20 19True 10 9True 5 4True 2 1False

A. 2B. 3C. 4D. 5E. none of these

25

Page 26: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

def mystery(n): while n != 1: if n % 2 != 0: return False n = n // 2 return True

For what inputs does this function return True?

Try tracing these two cases:mystery(12) mystery(8)

n n 12 8

A. odd numbersB. even numbersC. multiples of 4D. powers of 2E. none of these

26

Page 27: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

def mystery(n): while n != 1: if n % 2 != 0: return False n = n // 2 return True

For what inputs does this function return True?

Try tracing these two cases:mystery(12) mystery(8)

n n 12 8

6 43 2

False 1True

A. odd numbersB. even numbersC. multiples of 4D. powers of 2E. none of these

27

Page 28: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

28Wesley says it’s break time so it’s break time

Page 29: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

for y in range(84): for m in range(12): for d in range(f(m,y)): for h in range(24): for mn in range(60): for s in range(60): tick()

Nested Loops!

29

Page 30: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Nested Loops!

30

• Nested Loops are loops where a loop appears inside the body of another loop. • The loop inside the body is called the inner

loop. The other is called the outer loop. • The inner loop completes all passes for a

single pass of the outer loop• This is very useful for many types of

algorithms, especially with data that has more than one dimension.

Page 31: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): for j in range(4): print(i, j) inner loop outer loop

31

Page 32: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 0

32

Page 33: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 00 1

33

Page 34: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 00 10 2

34

Page 35: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 00 10 20 3

35

Page 36: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 00 10 20 31 01 11 21 3

36

Page 37: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): # 0, 1, 2 for j in range(4): # 0, 1, 2, 3 print(i, j)

0 00 10 20 31 01 11 21 32 02 12 22 3

37

Page 38: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): for j in range(4): print(i, j) print('---')

38

inner loop outer loop

Page 39: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Repeating a Repetition!

for i in range(3): for j in range(4): print(i, j) print('---')

0 00 10 20 3---1 01 11 21 3---2 02 12 22 3---

39

inner loop outer loop

Page 40: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

How many lines are printed?

for i in range(5): for j in range(7): print(i, j)

A. 4B. 5C. 7D. 24E. 35

40

Page 41: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

How many lines are printed?

for i in range(5): for j in range(7): print(i, j)

A. 4B. 5C. 7D. 24E. 35 = 5*7 executions of inner code block

full output:0 00 10 20 30 40 50 61 01 11 21 31 41 51 62 02 12 22 32 42 52 63 03 13 23 33 43 53 64 04 14 24 34 44 54 6

41

Page 42: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Tracing a Nested for Loop

for i in range(5): # [0,1,2,3,4] for j in range(i): print(i, j)

i range(i) j value printed

42

Page 43: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Tracing a Nested for Loop

for i in range(5): # [0,1,2,3,4] for j in range(i): print(i, j)

i range(i) j value printed0 [] none nothing (we exit the inner loop)1 [0] 0 1 02 [0,1] 0 2 0

1 2 13 [0,1,2] 0 3 0

1 3 12 3 2

4 [0,1,2,3] 0 4 01 4 12 4 23 4 3

full output:1 02 02 13 03 13 24 04 14 24 3

43

Page 44: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Second Example: Tracing a Nested for Loop

for i in range(4): for j in range(i, 3): print(i, j) print(j)

i range(i, 3) j value printed

44

Page 45: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Second Example: Tracing a Nested for Loop

for i in range(4): # [0, 1, 2, 3] for j in range(i, 3): print(i, j) print(j)# would go here next

i range(i, 3) j value printed0 [0, 1, 2] 0 0 0

1 0 12 0 2

21 [1, 2] 1 1 1

2 1 2 2

2 [2] 2 2 22

3 [], so body of inner loop doesn't execute2

full output:0 00 10 221 11 222 222

45

Page 46: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Side Note: Staying on the Same Line When Printing

• By default, print puts an invisible newline character at the end of whatever it prints.

• causes separate prints to print on different lines

• Example: What does this output?

for i in range(7): print(i * 5)

0 5 10 15 20 25 30

46

Page 47: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

Staying on the Same Line When Printing (cont.)

• To get separate prints to print on the same line,we can replace the newline with something else.

• Examples:

for i in range(7): print(i * 5, end=' ')

0 5 10 15 20 25 30

for i in range(7): print(i * 5, end=',')

0,5,10,15,20,25,30,

47

Page 48: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

48

for row in range(3): for col in range(4): print('#', end=' ') print() # go to next line

# # # ## # # ## # # #

col

row

1 2 30

2

1

0

Printing Patterns

48

Page 49: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

49

for row in range(3): for col in range(6): print(_____, end=' ') print() # go to next line

Fill in the Blank #1

0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5

col

row

49

Page 50: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

50

for row in range(3): for col in range(6): print(col, end=' ') print() # go to next line

0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5

col

row

50

Fill in the Blank #1

Page 51: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

51

for row in range(3): for col in range(6): print(_____, end=' ') print() # go to next line

Fill in the Blank #2

0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2

col

row

51

Page 52: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

52

for row in range(3): for col in range(6): print(row, end=' ') print() # go to next line

Fill in the Blank #2

0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2

col

row

52

Page 53: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

53

for row in range(5): for col in ___________: print(_____, end=' ') print() # go to next line

What is needed in the blanks to get this pattern?

A. range(row) rowB. range(row) colC. range(5 - row) rowD. range(5 - row) colE. none of the above

first blank second blank

0 0 0 0 01 1 1 1 2 2 23 34

53

Page 54: Lecture 04 More Iteration, Nested Loopscs.brown.edu/courses/cs004/lectures/lec04.pdf · Lecture 04 More Iteration, Nested Loops 1 Meet UTA Jarrett’s dog Greta, lying in her “nest”

54

for row in range(5): for col in ___________: print(_____, end=' ') print() # go to next line

What is needed in the blanks to get this pattern?

A. range(row) rowB. range(row) colC. range(5 - row) rowD. range(5 - row) colE. none of the above

first blank second blank

0 0 0 0 01 1 1 1 2 2 23 34

54