Write a program named program52.py that has a main() function and a value returning function named numbers() that takes no arguments and returns the variable used for the total. The numbers function generates 18 random integers, it is required you use the random.randint method to generate these numbers as the unitTest requires this. The range would be 7 to 61 inclusive, (duplicates are okay), and prints them all on one line separated by spaces. A loop is required for this, and the loop should also total up the integers so the sum can be displayed when the loop ends. The main() function calls the numbers() function which prints the random numbers and the total as shown below. Do not forget that numbers() function must return variable containing total that was printed. This is the Python code I have tried ...( I have attached my error at the bottom... ) import random def number(): total: int = 0 num: list = [] for i in range(18): num = random.randint(7, 61) print(num, end=" ") total = total + num print("") print("The total is", total) return total def main(): # Alternatively if __name__ == '__main__': can be used to begin execution at main. number() main() This is the ERROR i get when I test it: Please help- Thank you. Test 1: stimulus:: 0 expected: '7 61 12 56 13 55 14 54 15 53 16 52 17 51 18 50 19 49 ', 'The total is 612' Test 1 Passed. Test 2 Access numbers function directly Test 2: stimulus:: expected: 612 Test 2 FailedE ====================================================================== ERROR: test_2_fn_case_1 (__main__.programTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): AttributeError: module 'program52' has no attribute 'numbers' During handling of the above exception, another exception occurred: Traceback (most recent call last): ValueError: Program Output != Expected ---------------------------------------------------------------------- Ran 2 tests in 0.374s FAILED (errors=1) >>>
Write a
The numbers function generates 18 random integers, it is required you use the random.randint method to generate these numbers as the unitTest requires this. The range would be 7 to 61 inclusive, (duplicates are okay), and prints them all on one line separated by spaces.
A loop is required for this, and the loop should also total up the integers so the sum can be displayed when the loop ends.
The main() function calls the numbers() function which prints the random numbers and the total as shown below. Do not forget that numbers() function must return variable containing total that was printed.
This is the Python code I have tried ...( I have attached my error at the bottom... )
import random
def number():
total: int = 0
num: list = []
for i in range(18):
num = random.randint(7, 61)
print(num, end=" ")
total = total + num
print("")
print("The total is", total)
return total
def main(): # Alternatively if __name__ == '__main__': can be used to begin execution at main.
number()
main()
This is the ERROR i get when I test it: Please help- Thank you.
Test 1: stimulus:: 0 expected: '7 61 12 56 13 55 14 54 15 53 16 52 17 51 18 50 19 49 ', 'The total is 612' Test 1 Passed.
Test 2 Access numbers function directly
Test 2: stimulus:: expected: 612 Test 2 FailedE
======================================================================
ERROR: test_2_fn_case_1 (__main__.programTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
AttributeError: module 'program52' has no attribute 'numbers'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
ValueError: Program Output != Expected
----------------------------------------------------------------------
Ran 2 tests in 0.374s
FAILED (errors=1)
>>>
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images