Lab: Functions#

This lab will help you get practice using functions. It will also help you understand how functions are specified. From now on most of the things that I will have you write will be in a function. It’s important that you structure your function to match the question exactly.

Here’s an example of a function specification. It tells you the name of the function, what it should return the names of the arguments (if any) and their order. Though the argument names can change everything else should be the same.

  • Name: the_function

  • Arguments:

    • arg1 (string) - The first argument

    • arg2 (integer) - The second argument

  • Return Values:

    • Your name (string)

Here’s how you setup the answer:

def the_function(arg1, arg2): 
    """This is the docstring for the_function"""
    # Put your code here
    return "Mike"

Before you turn in or test your function make sure that:

  1. You used the correct name

  2. There is a docstring

  3. You have the same number of arguments (you can rename them if you like)

  4. You return the requested value. If the requested value is None you can simply return

Part 1: Writing Functions#

1. Write foo#

Write a function called foo that takes one argument bar. The function should print the contents of bar.

  • Name: foo

  • Arguments:

    • bar (string) - The thing to print

  • Returns: None

Test your function using the cell below:

2. Write do_sum#

Write a function called do_sum that takes two arguments, a and b. The function should print the sum of its arguments.

  • Name: do_sum

  • Arguments:

    • a (float) - A number

    • b (float) - Another number

  • Returns: None

Test your function in the cell below:

4. A Return Value#

Write a function called i_am_four that returns the number 4.

  • Name: i_am_four

  • Arguments: None

  • Returns: 4

Test your function in the cell below:

5. Arguments and Return Values#

Write a function called do_sum_return that takes two arguments, a and b. The function returns the sum of the two numbers.

  • Name: do_sum_return

  • Arguments:

    • a (float) A number

    • b (float) Another number

  • Returns: The sum of a and b

Test your function in the cell below:

6. Returning a Boolean Value#

Write a function called is_greater that takes two arguments called a and b. The function returns True if a is greater than b, False otherwise.

  • Name: is_greater

  • Arguments:

    • a (float) A number

    • b (float) A number

  • Returns:

    • True if a is greater than b. False otherwise.

Test your function in the cell below:

Part 2: Using Your Own Functions#

In this part you’ll write reusable functions and use them to make a simple program.

1. Write a triangle Function#

Write a function to draw a triangle that takes two arguments, tu a turtle, and len the length of a side. The function draws an equallateral triangle with sides of len pixels.

  • Name: triangle

  • Arguments:

    • tu (Turtle) a turtle to draw with.

    • len (int) the length of a side

2. Draw Using triangle#

Use the triangle funciton from the last question to construct a figure like this:

Notice that it’s made of three triangles, two at the base and one on top.