суббота, 25 июля 2020 г.

Задачa D-Обработка массива чисел на Python

На вход программа получает набор чисел, заканчивающихся решеткой. Вам требуется найти: среднее, максимальное и минимальное число в последовательности. Так же нужно вывести cумму остатков от деления суммы троек на последнее число тройки (каждые 3 введеных числа образуют тройку).
Для понимания рассмотрим пример входных данных: 1 2 3 4 5 6 среднее: (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3.5 максимум: 6 минимум: 1 сумма остатков троек: (1 + 2 + 3) mod 3 + (4 + 5 + 6) mod 6 = 6 mod 3 + 15 mod 6 = 0 + 3 = 3
Среднее выводить, округлив до трех знаков после запятой. Для этого нужно использовать функцию round(x, 3)
Того ваша программа должна вывести: 3.5 6 1 3
Подумайте, имеет ли смысл хранить всю последовательность.

Формат входных данных

Последовательность чисел, заканчивающися '#'. Все числа от 1 до 100. Количество чисел в последовательности кратно трем. Одно число на строку.

Формат выходных данных

Четыре числа, разделенных пробелом.

Примеры

ВводВывод
1
2
3
4
5
6
#
3.5 6 1 3

#N=int(input())
A=[0]*100
k=0
x=0
sum=0
max=0
min=0
srednee=0
sum_3=0
i=0
while i!='#':
    #print(i)
    i=input()
    if i!='#':
       A[k]=int(i)
    else:
        break
    k+=1
min=A[0]
while x<=k-1:
    sum+=A[x]
    if (x==k-1):
        print(x)
        srednee=round(sum/(x+1), 3)
    if(A[x]>A[x+1]):
       max = A[x]
    else:
       max = A[x+1]
    if A[x]<min:
       min = A[x]
    if x+2<=k-1 and x%3==0:
        print(A[x+2])
        sum_3 = (A[x]+A[x+1]+A[x+2])%A[x+2]
    x+=1
print(srednee)
print(max)
print(min)
print(sum_3)

Комментариев нет:

Отправить комментарий