Reputation: 3
I need the sum and average functions to be combined to make my code shorter. My teacher said I don't need to add a function for the average I can just print average by dividing sum/n
?
import random
def main():
random_numbers = [random.randrange(1,100) for _ in range (10)]
print(random_numbers)
numbers = random_numbers
total = get_total(numbers)
print("Sum:", total)
average = get_average(numbers)
print("Average:", average)
def get_total(value_list):
total = 0
for num in value_list:
total += num
return total
def get_average(value_list):
return get_total(value_list)/len(value_list)
main()
This is an example of what the output should look like (I have the correct output btw):
[58, 25, 15, 66, 26, 58, 50, 12, 75, 48]
Sum: 433
Average: 43.3
Upvotes: 0
Views: 80
Reputation: 672
Here's the shortest code:
import random
def main():
random_numbers = [random.randrange(1,100)
for _ in range (10)]
print(random_numbers)
numbers = random_numbers
total = sum(numbers)
print("Sum:", total)
print("Average:", total/len(numbers))
main()
Upvotes: 1
Reputation: 5563
You do not have to do the multiple return statements. You can print right from a function.
import random
def main():
random_numbers = [random.randrange(1,100)
for _ in range (10)]
print(random_numbers)
numbers = random_numbers
getInformation(numbers)
def getInformation(value_list):
total = 0
for num in value_list:
total += num
print("Sum: " + total)
print("Average: " +total/len(value_list))
main()
Upvotes: 1