Lab 5, Part 1: For loop practice

In your lab05 folder, create a new empty lab05.py file where you will write the functions below. Each of the functions contains a single for loop. There are no nested loops on this page.

Task 1. box

Partner A

Write a function called box that takes a size and a character and prints a box of the given size using the character. box is a None function. Your box function should have one loop (no need for a nested loop).


>>> box(2, '$')     # Two rows, each with two dollar signs
  $$
  $$
>>> box(4, 'X')     # Four rows, each with four Xs
  XXXX
  XXXX
  XXXX
  XXXX
>>> box(7, '@')     # Seven rows, each with 7 @ symbols
  @@@@@@@
  @@@@@@@
  @@@@@@@
  @@@@@@@
  @@@@@@@
  @@@@@@@
  @@@@@@@

Task 2. rect

Partner B

Write a function called rect that takes a width, height and character and prints a rectangle of the given dimensions using the character. rect is a None function that contains one loop.

>>> rect(2, 5, 'P')    # Five rows, each with two Ps
 PP
 PP
 PP
 PP
 PP
>>> rect(6, 1, '&')    # One row with six &s
 &&&&&&

>>> rect(7,3,'#')      # Three rows, each with 7 #s
 #######
 #######
 #######

Task 3. triangle

Partner A

Write a function called triangle that takes a height and character and prints a triangle of the given height using the character. triangle is a None function. Hint: Try describing the content of a triangle to your partner in English, this may shed light on how to code it in Python.


>>> triangle(5, 'V')
 V
 VV
 VVV
 VVVV
 VVVVV
>>> triangle(1,'X')
 X
>>> triangle(10, 'O')
 O
 OO
 OOO
 OOOO
 OOOOO
 OOOOOO
 OOOOOOO
 OOOOOOOO
 OOOOOOOOO
 OOOOOOOOOO

Task 4. findMultiplesOf

Partner B

findMultiplesOf is a None function that prints all the multiples of a given factor between the given start and stop numbers, inclusive.

>>> findMultiplesOf(1,10,15)
 There are 0 multiples of 15 between 1 and 10.

>>> findMultiplesOf(1,100,17)
 17
 34
 51
 68
 85
 There are 5 multiples of 17 between 1 and 100.

>>> findMultiplesOf(1000,2000,177)
 1062
 1239
 1416
 1593
 1770
 1947
 There are 6 multiples of 177 between 1000 and 2000.

Task 5. addOdds

Partner A

addOdds is a fruitful function that returns the sum of all the odd numbers up to the given number, inclusive.

>>> addOdds(1)
1
>>> addOdds(10)
25 # 1 + 3 + 5 + 7 + 9 = 25
>>> addOdds(37)
361
>>> addOdds(275)
19044

[Challenge problem] Task 6. makeN

Partner B

Write a function called makeN that draws a capital N made up of the given character and of the given height. makeN is a None function. Hint: makeN builds from the triangle function above.

>>> makeN(3, 'Y')
 YY  Y
 Y Y Y
 Y  YY
>>> makeN(5,'E')
 EE    E
 E E   E
 E  E  E
 E   E E
 E    EE
>>> makeN(7, 'L')
 LL      L
 L L     L
 L  L    L
 L   L   L
 L    L  L
 L     L L
 L      LL

Table of Contents