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. The output is correct... However my test for the class is coming back with a second error... 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' Here is my code: 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()
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.
The output is correct... However my test for the class is coming back with a second error...
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'
Here is my code:
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()
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images