Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2018 16:30:08

Yurkof
Зарегистрирован: 2018-09-11
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна консультация.

Здравствуйте. К сожалению не смог нигде найти внятной информации, потому, вопрос к экспертам). Только изучаю этот язык программирования и решаю некоторые тестовые задания. Так вот, столкнулся с задачей, в которой, как по мне, нужно использовать несколько раз циклы по входящим данным. Задание:
Дана последовательность натуральных чисел x1, x2, …, xn. Стандартным отклонением называется величина
σ= ((x1−s)**2+(x2−s)**2+…+(xn−s)**2/n−1)**0.5
где s= (x1+x2+…+xn)/n — среднее арифметическое последовательности.
Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0.

Один из примеров входящих данных:
1
7
9
0

На сколько я понимаю для решения мне сначала с помощью цикла while нужно посчитать S. После чего использовать цикл while еще раз и опять пройтись по входящим данным для того что бы высчитать σ. Надеюсь я понятно описал свою проблему Не знаю как второй раз запустить цикл по входящим данным.
Помогите советом пожалуйста.

Отредактировано Yurkof (Ноя. 16, 2018 16:30:27)

Офлайн

#2 Ноя. 16, 2018 17:45:02

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Нужна консультация.

Yurkof
использовать цикл while еще раз и опять пройтись по входящим данным для того что бы высчитать σ
входные данные читаются один раз и второй раз вы их уже никак не считаете. в первом цикле собираете все данные в список а далее сколько раз угодно работаете с этими данными беря их из списка.

Офлайн

#3 Ноя. 16, 2018 19:33:27

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Нужна консультация.

Само чтение сделать в цикле while true, условие завершения цикла введённый ноль. Здесь же в цикле кидать int полученных значений в список. Подсчет среднего можно сделать после завершения цикла приёма данных, через sum(list1)/len(list1). Второй цикл for chislo in list1 будет считать сигму.

Офлайн

#4 Ноя. 17, 2018 01:37:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Нужна консультация.

Здесь делал однопроходный алгоритм.



Офлайн

#5 Ноя. 19, 2018 11:14:48

Yurkof
Зарегистрирован: 2018-09-11
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна консультация.

Всем огромное спасибо. Сейчас все сделаю через списки. Благодарю за объяснения.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version