Форум сайта python.su
Привет. В общем, задача к теме про цикл while.
Выглядит просто. Загвоздка в том, как сохранить все эти значения x1, x2, x3 и тд. Так как списков я еще не проходил, значит, нужно без них.
i = int(input()) elem = 0 n = 0 while i != 0: elem += i n += 1 i = int(input()) s = elem/n
Отредактировано Straik32423 (Июль 19, 2016 14:08:39)
Офлайн
Не дождался ответа, пришлось решать с помощью списков.
Если кому интересно. вот эталонное решение:
from math import sqrt partial_sum = 0 partial_sum_squares = 0 x_i = int(input()) n = 0 while x_i != 0: n += 1 partial_sum += x_i partial_sum_squares += x_i ** 2 x_i = int(input()) print(sqrt((partial_sum_squares - partial_sum ** 2 / n) / (n - 1)))
Офлайн
У меня получилось почти так же, только без проверок равенства нулю:
import math n = int(input("Input n:")) print("Input array:") x = [] for i in range(n): x.append(int(input())) s = sum(x) / n print(math.sqrt(sum([(element - s) ** 2 for element in x]) / (n - 1))))
Офлайн