\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors)
\newcommand\bs[1]{\mathbf{#1}}\\% 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{\%}}
%
% Angle
\newcommand\radian{\unit{rad}}
\newcommand\degree{\unit{{}^\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}}
%
% Temperature
\newcommand\kelvin{\unit{K}}
\newcommand\K{\kelvin}
\newcommand\celsius{\unit{{}^\circ C}}
\newcommand\C{\celsius}
\newcommand\fahrenheit{\unit{{}^\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
%
% 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} \]
Dec 03, 2024 | 339 words | 3 min read
6.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.
Task Instructions
Before beginning this activity, watch the pre-class videos. Additionally, do
some research into the math
library in Python. There are
many functions within the math
library in particular that will be
needed for this task. It is important for your learning and ability to
contribute to future assignments that you understand the covered topics.
In this task, you will be writing a UDF to perform specific calculations in
Python.
Make a copy of the ENGR133_Python_Template.py
Python
template and rename the file to
py2_pre_1_username.py
Make sure to fill out all header information, including a short description
of the code. Include all needed import
statements in the labeled
section of the template.
Create a function called calc_perform
below your import
statements that takes in three input arguments (a
, b
,
c
) and performs the following calculations based on a conditional
test on input a
. The conditional should consist of one
if
-else
condition.
if a >= 4:
, perform calculation (6.1)
; else
perform calculation (6.2).
(6.1)\[\frac{a-b+\sin c}{a*c}\]
(6.2)\[\frac{\tan c}{a-\frac{a*c}{b}}\]
This function should have only one return statement (the answers to the above
equations).
Hint
This function should set each equation within the conditional statements
equal to the same variable as there will only be one return statement at the
end of the function
In your main script, initialize a
as user input, b
to
\(20\) and c
to \(47\). Call calc_perform
function and print the result as a single formatted string (f-string)
statement to two decimal places.
Hint
Review Python 1 if you need a refresher on how
to obtain user input.
Make sure your input arguments are in the correct order.
Save the code file as
py2_pre_1_username.py and
turn in the assignment on Gradescope.
Sample Output
Use the values in Table 6.3
below to test your program.
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_1_username.py
Input a number for variable a (can be negative): 5
The result of the function was -0.06
Case 2 Sample Output
$ python3 py2_pre_1_username.py
Input a number for variable a (can be negative): -0.3
The result of the function was -0.31