\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors) \newcommand\bs[1]{\mathbf{#1}}\\% Differential \newcommand\dd[2][]{\mathrm{d}^{#1}{#2}} % use as \dd, \dd{x}, or \dd[2]{x}\\% Poor man's siunitx \newcommand\unit[1]{\mathrm{#1}} \newcommand\num[1]{#1} \newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/} \newcommand\squared{{}^2} \newcommand\cubed{{}^3} % % Scale \newcommand\milli{\unit{m}} \newcommand\centi{\unit{c}} \newcommand\kilo{\unit{k}} \newcommand\mega{\unit{M}} % % Percent \newcommand\percent{\unit{{\kern-4mu}\%}} % % Angle \newcommand\radian{\unit{rad}} \newcommand\degree{\unit{{\kern-4mu}^\circ}} % % Time \newcommand\second{\unit{s}} \newcommand\s{\second} \newcommand\minute{\unit{min}} \newcommand\hour{\unit{h}} % % Distance \newcommand\meter{\unit{m}} \newcommand\m{\meter} \newcommand\inch{\unit{in}} \newcommand\foot{\unit{ft}} % % Force \newcommand\newton{\unit{N}} \newcommand\kip{\unit{kip}} % kilopound in "freedom" units - edit made by Sri % % Mass \newcommand\gram{\unit{g}} \newcommand\g{\gram} \newcommand\kilogram{\unit{kg}} \newcommand\kg{\kilogram} \newcommand\grain{\unit{grain}} \newcommand\ounce{\unit{oz}} \newcommand\pound{\unit{lbs}} % % Temperature \newcommand\kelvin{\unit{K}} \newcommand\K{\kelvin} \newcommand\celsius{\unit{{\kern-4mu}^\circ C}} \newcommand\C{\celsius} \newcommand\fahrenheit{\unit{{\kern-4mu}^\circ F}} \newcommand\F{\fahrenheit} % % Area \newcommand\sqft{\unit{sq\,\foot}} % square foot % % Volume \newcommand\liter{\unit{L}} \newcommand\gallon{\unit{gal}} % % Frequency \newcommand\hertz{\unit{Hz}} \newcommand\rpm{\unit{rpm}} % % Voltage \newcommand\volt{\unit{V}} \newcommand\V{\volt} \newcommand\millivolt{\milli\volt} \newcommand\mV{\milli\volt} \newcommand\kilovolt{\kilo\volt} \newcommand\kV{\kilo\volt} % % Current \newcommand\ampere{\unit{A}} \newcommand\A{\ampere} \newcommand\milliampereA{\milli\ampere} \newcommand\mA{\milli\ampere} \newcommand\kiloampereA{\kilo\ampere} \newcommand\kA{\kilo\ampere} % % Resistance \newcommand\ohm{\Omega} \newcommand\milliohm{\milli\ohm} \newcommand\kiloohm{\kilo\ohm} % correct SI spelling \newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx \newcommand\megaohm{\mega\ohm} % correct SI spelling \newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx % % Capacitance \newcommand\farad{\unit{F}} \newcommand\F{\farad} \newcommand\microfarad{\micro\farad} \newcommand\muF{\micro\farad} % % Inductance \newcommand\henry{\unit{H}} \newcommand\H{\henry} \newcommand\millihenry{\milli\henry} \newcommand\mH{\milli\henry} % % Power \newcommand\watt{\unit{W}} \newcommand\W{\watt} \newcommand\milliwatt{\milli\watt} \newcommand\mW{\milli\watt} \newcommand\kilowatt{\kilo\watt} \newcommand\kW{\kilo\watt} % % Energy \newcommand\joule{\unit{J}} \newcommand\J{\joule} % % Composite units % % Torque \newcommand\ozin{\unit{\ounce}\,\unit{in}} \newcommand\newtonmeter{\unit{\newton\,\meter}} % % Pressure \newcommand\psf{\unit{psf}} % pounds per square foot \newcommand\pcf{\unit{pcf}} % pounds per cubic foot \newcommand\pascal{\unit{Pa}} \newcommand\Pa{\pascal} \newcommand\ksi{\unit{ksi}} % kilopound per square inch \newcommand\bar{\unit{bar}} \end{aligned}\end{align} \]

Apr 28, 2026 | 357 words | 4 min read

12.1.2. Task 0#

Learning Objectives#

Create simple user-defined functions and conditional statements in Python. Practice writing a UDF in the same file as the main script and calling the respective function in the main script.

Introduction#

Python's math library provides many mathematical functions and constants that are useful for computational tasks. You can explore the full math library documentation. Understanding how to use these built-in functions will enhance both your problem-solving skills and your ability to contribute effectively to future assignments.

Before beginning, be sure to familiarize yourself with the pre-class materials.

Task Instructions#

In this task, you will be writing a UDF to perform specific calculations in Python. Start by making a copy of the ENGR133_Python_Template.py Python template and renaming it as py2_pre_0_username.py. Make sure to fill out all header information, including a short description of the code.

  1. Include all needed import statements in the labeled section of the template.

  2. Create a function called calc_perform below your import statements that takes in three input arguments (\(a\), \(b\), and \(c\) in that order) and performs the following calculations based on a conditional test on input \(a\). The conditional should consist of one if-else statement. If \(a \gt 4\), perform calculation (12.1); otherwise perform calculation (12.2).

    (12.1)#\[\frac{a^2 + \cos b - \ln c}{b - a \cdot c}\]
    (12.2)#\[\frac{\sqrt{a + b}}{c! + \sin b}\]

    Use a single return statement to return the answer to the selected equation.

    Hint

    Ensure that each equation within the if or else statements is assigned to the same variable. Then use a single return statement at the end of the function that returns this variable.

  3. In your main script, initialize a as user input, b to \(135\) and c to \(3\). Then call your calc_perform function and print its result as a single formatted string (f-string) statement to two decimal places. Your output should match the formatting shown in the Sample Output section below.

    Hint

    Review the Python 1 materials if you need a refresher on how to obtain user input.

  4. Save your program as py2_pre_0_username.py and turn in the assignment on Gradescope.

Sample Output#

Use the values in Table 12.2 below to test your program.

Table 12.2 Test Cases#

Case

a

1

5

2

4

3

-0.3

Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.

Case 1 Sample Output

$ python3 py2_pre_0_username.py Input a number for variable a: 5 The result of the function was 0.19

Case 2 Sample Output

$ python3 py2_pre_0_username.py Input a number for variable a: 4 The result of the function was 1.94

Case 3 Sample Output

$ python3 py2_pre_0_username.py Input a number for variable a: -0.3 The result of the function was 1.91

Table 12.3 Deliverables#

Deliverables

Description

py2_pre_0_username.py

Your completed Python code.