Включите функции более высокого порядка для вычисления среднего из списка чисел, используя текстовый файл - PullRequest
0 голосов
/ 28 ноября 2018

Мне нужно написать программу, которая вычисляет и печатает среднее число из текстового файла.Мне нужно использовать две функции высшего порядка, чтобы упростить дизайн.

Текстовый файл (inteers.txt), который я буду использовать, имеет следующие номера:

5

4

3

2

1

Это код, который у меня сейчас есть:

# I open up the file.
file = open("integers.txt", 'r')
file = file.read()

# I turn it into a list using the split method
file = file.split()

# I turn it into an integer using the map function.
file = map(int, file)

# I then use a for loop to get the total of all numbers in that list
# I then get the average
sum = 0
for numbers in file:
    sum = numbers + sum
print(sum/len(file))

Как я могу использовать другую функцию высокого порядка в этой программе?Пожалуйста помоги.Я все еще новичок.

1 Ответ

0 голосов
/ 30 ноября 2018

Я разобрался с ответом!

import functools

# open your file
file = open("integers.txt", 'r')
file = file.read()

# put numbers into a list
file = file.split()

# convert list into integers
file = list(map(int, file))

# use lambda function to get average.
print(functools.reduce(lambda x, y: x+y / len(file), file, 0))
...