На вход программа получает набор чисел, заканчивающихся решеткой. Вам требуется найти: среднее, максимальное и минимальное число в последовательности. Так же нужно вывести 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)
Немає коментарів:
Дописати коментар