Roh3n
Окт. 20, 2017 08:16:17
Добрый день!
У меня есть генератор, который возвращает рандомные значения X в паре с y = f(х). Результат этой функции-генератора мне нужно передать в другую функцию.
Но я не понимаю, как обращаться внутри второй функции со значениями X и Y. Во второй функции мне нужны и Х и Y для дальнейшего расчета - посчитать сумму Х и Y.
Код выглядит следующим образом.
“def generator():\n”,
“ rand_gen = np.random.RandomState(42)”,
“ for i in xrange(100000):”,
“ arr_of_x = 10 * rand_gen.uniform(size=10000)”,
“ arr_of_noise = 40 * rand_gen.normal(size=10000)”,
“ for x, noise in zip(arr_of_x, arr_of_noise):”,
“ yield x, 3.14 * x + 8.3 + noise”
def solver(seq):
Roh3n
Окт. 20, 2017 09:02:10
doza_and
Мне нужно вычислить сумму всех Х и всех Y. А также среднее по Х и Y)
FishHook
Окт. 20, 2017 09:59:25
Roh3nСумму чего угодно считают последовательно прибавляя значения к изначально нулевому счетчику.
counter = 0
for i in seq:
counter += i
Roh3n
Окт. 20, 2017 11:29:29
FishHook
Roh3nСумму чего угодно считают последовательно прибавляя значения к изначально нулевому счетчику.
Спасибо, уже есть прогресс. Но вот сделать функцию, берущую данные из генератора и считающую сумму и среднюю не выходит.
По отдельности все посчитал, благодаря вашему ответу, нужно в функцию запихнуть. А тут начинаются ошибки
Roh3n
Окт. 20, 2017 11:29:30
FishHook
Roh3nСумму чего угодно считают последовательно прибавляя значения к изначально нулевому счетчику.
Спасибо, уже есть прогресс. Но вот сделать функцию, берущую данные из генератора и считающую сумму и среднюю не выходит.
По отдельности все посчитал, благодаря вашему ответу, нужно в функцию запихнуть. А тут начинаются ошибки
FishHook
Окт. 20, 2017 12:34:22
Roh3nЧестно, не понимаю, что тут вообще делать. Ну, держите, если это вам поможет
def point_generator(count):
x = 1.2
y = 1.1
while count:
yield x, y
x += 1.3
y += 1.1
count -=1
def summ(seq):
total = 0
for x, y in seq:
total += x + y
return total
def avg(seq):
total = 0
c = 0
for x, y in seq:
c += 1
total += x + y
return total / c
print(summ(point_generator(100)))
print(avg(point_generator(100)))
Roh3n
Окт. 20, 2017 12:46:48
FishHook
Roh3nЧестно, не понимаю, что тут вообще делать. Ну, держите, если это вам поможет
Большое спасибо, Питон изучаю день) Синтаксис и логика отлична от С/VBA, которые изучались когда-то)
FishHook
Окт. 20, 2017 12:58:14
Roh3n
логика отлична от С/VBA
Чего? По-вашему в С/VBA какая-то другая логика нахождения суммы или среднего?
Roh3n
Окт. 20, 2017 13:53:29
FishHook
Логика языка, а не математика. Тут как минимум, не нужно тип переменных определять.