Skip to content

IPP-DEV-03-003: Functions Calling Functions #65

@labbenchstudios

Description

@labbenchstudios

Description

  • Using instructions from the in-class lecture, create a new module called CalcFunctionCallingFunction.py module with two simple division tests based on in-class lecture content.

Review the README

  • Please see README.md for further information on, and use of, this content.
  • License for embedded documentation and source codes: IPP-DOC-LIC

Estimated effort may vary greatly

  • The estimated level of effort for this exercise shown in the 'Estimate' section below is a very rough approximation. The actual level of effort may vary greatly depending on your development and test environment, experience with the requisite technologies, and many other factors.

Actions

Step 1: Make Sure Your System is Setup for Python and This Course

Step 2: REMINDER: Make Sure PYTHONPATH is Set Correctly

Whether running Python tests within your IDE or from the command line, you must set the PYTHONPATH environment variable in every execution environment (e.g., every terminal you launch) when attempting to run any of your scripts and their tests or the IPP test app from the command line. The IPP source and test paths will be as follows:

  • {your IPP source code path}
  • {your IPP source code path}/tests

See IPP-DEV-01-001 for details.

Step 3: Create the SimpleDivision.py module in the labmodule03 directory.

  • Open the module, and implement the following:
def divideTwoNumbersWithExceptionHandling(numerator: int, denominator: int):
    try:
        result = (float) (numerator / denominator)
        print(f"Divided {numerator} by {denominator}: {result}")

        return result
    except ZeroDivisionError:
        print(f"Can't divide {numerator} by {denominator}: ZeroDivisionError!")

        return 0.0

Step 4: Create the CalcFunctionCallingFunction.py module in the labmodule03 directory.

  • Open the module, and implement the following test cases:

Test 1 (create the converter function)

  • Implement the following code:
import SimpleDivision

def divideTwoNumbers(numerator: int, denominator: int):
    return SimpleDivision.divideTwoNumbersWithExceptionHandling(numerator, denominator)

divideTwoNumbers(5, 2)
divideTwoNumbers(3, 0)
  • Document in the README.md how this works!

Estimate

  • Medium

Tests

  • From within your IDE

    • Right click on your newly created module CalcFunctionCallingFunction.py and click your IDE's run icon
    • You should see output similar to that discussed in class
  • From the command line

    • Open a terminal and cd to your IPP_HOME path
    • Start your virtual environment (if not already running)
    • Be sure your PYTHONPATH is set correctly
    • Run the module
      • python ./labmodule03/CalcFunctionCallingFunction.py
    • You should see output similar to that discussed in class

Sample output (yours may differ slightly)


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Lab Module 03 - Functions & Flow

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions