ASSIGNMENT
You are going to enhance the prior assignment by doing the following:
- Create a function for each math operation (add, div, mult, sub).
- The application will run forever (while True), you will ask the user to continue or not.
- Create a function IsInRange() to test a number between two numbers like this.
Here is the spec in pseudo-code
IsInRange(lr, hr, n)
lr=low range
hr=high range
n=number
if n between ln and hr
return true
else
return false
>>> Show me how to use the function isInRange()
for example, we can check if the inputs are between -10 and 10 then do the calculations. else print “values are not in range” and loop back. use input() to get the ranges.
SAMPLE OUTPUT:
Enter your First number —> 15
Enter your Second number —> 17
The result of 15.0+17.0=32.0
The result of 15.0-17.0=-2.0
The result of 15.0*17.0=255.0
The result of 15.0/17.0=0.882352941176
Continue Looping Y/N Y
Sample output using ranges.
Enter your Lower range —> 10
Enter your Higher range —> 50
Enter your First number (10 – 50) —> 5 <<< 10 and 50 from input, do not hard code.
Enter your Second number (10 – 50) —> 60
The input values are outside the input ranges
Please check the numbers and try again.
HINTS:
1) program structure
“””
comment block
“””
# def functions <<< All def functions should be on the top of the program
def add …
def sub…
def …
while True:
get user inputs
print result
ask the user do want more calculations (y/n)
if yes then
loop
else
exit (break)
print thank you for using …
2)
FUNCTIONS:
A function is a set of code that only runs when it is called. You can pass data, known as parameters, into a function. A function can return value as a result. Python can return more than one value.
# When creating a function, you must pass a parameter(s) and return at least one value.
Do not use global variables.
def add(fnum, snum):
return fnum+snum
# in the program using the add()
res=add(6,8)
print(res)
print(“The result =”, res)
# function returning more than one value
def epay(employee, rate, hours):
pay=rate*hours
return employee, rate, hours, pay
#using epay
print( epay(“Bnudy”, 3.50, 32)) # (‘Bnudy’, 3.5, 32, 112.0)
# or
name, hrate, hrs, pay=epay(“Bnudy”, 3.50, 32)
print(name, hrate, hrs, pay)
# or
print(f”Name={name}, rate={hrate}, hours={hrs} and the pay={pay}”)
# here is the output
(‘Bnudy’, 3.5, 32, 112.0)
Bnudy 3.5 32 112.0
Name=Bnudy, rate=3.5, hours=32 and the pay=112.0
>>> How do I do something like this
Enter your First number (10 – 50) —> 5 <<< 10 and 50 from input, do
try this
n1=50
n2=100
input(f’Enter your First number (‘{n1} – {n2})’)
# Test a number between two numbers
# checknum()
def checknum(lb,num,ub):
#lb = lower bound
#ub = upper bound
#num = number to be tested if it is between lb and ub
#returns true if the number between lb and ub
return lb < n < ub
#test checknum()
print( checknum(10,5,20))
print( checknum(10,11,20))
Assessment Rubric
Exemplary (25-20)
Accomplished
(19-10)
Developing
(9-1))
Beginning
( 0)
Points Available
- Assignment details in a comment block
The student effectively completed the assignment.
The student partially completed the assignment.
The student provided limited and meaningless substance to complete the assignment.
The student failed to complete the assignment.
25
- Using functions()
The student effectively completed the assignment.
The student partially completed the assignment.
The student provided limited and meaningless substance to complete the assignment.
The student failed to complete the assignment.
25
- Using loop
The student effectively completed the assignment.
The student partially completed the assignment.
The student provided limited and meaningless substance to complete the assignment.
The student failed to complete the assignment.
25
- The print function used to correctly print the results and the prompts
- Application is running
The student effectively completed the assignment.
The student partially completed the assignment.
The student provided limited and meaningless substance to complete the assignment.
The student failed to complete the assignment.
25
Total
100