Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2020 13:12:33

graf
Зарегистрирован: 2020-01-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка Обработка массива чисел

Добрый день!
Самообучаюсь питону. Нашел задачу на массив:
На вход программа получает набор чисел, заканчивающихся решеткой. Вам требуется найти: среднее, максимальное и минимальное число в последовательности. Так же нужно вывести cумму остатков от деления суммы троек на последнее число тройки (каждые 3 введеных числа образуют тройку).
Формат входных данных
Последовательность чисел, заканчивающися ‘#’. Все числа от 1 до 100. Количество чисел в последовательности кратно трем. Одно число на строку.

Решить необходимо с использованием массива не применяя append.
Мысли пока такие: создать список из 3 элементов и зациклить его, вычисляя каждый раз искомые значения. Типа:

  try: 
    while True:
        for n in range (N):
            A[n] = int(input())
            n += 1
            a = A[0]
            b = A[1]
            c = A[2]
            if n > 2:
                n = 0
                # далее засунуть в функцию вычисление Max, Min...  и вызывать значения вычислений                           
except ValueError:
    print (...)
Но в голове клин. Не могу сообразить как не перезатирая в цикле эти мин, макс, ср. оставить.
Подскажите, пожалуйста в какую сторону думать)

Отредактировано graf (Фев. 11, 2020 10:13:36)

Офлайн

#2 Фев. 11, 2020 08:29:00

graf
Зарегистрирован: 2020-01-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка Обработка массива чисел

Неужели, нет ни у кого идей? Или новичков просто игнорируют?

Офлайн

#3 Фев. 11, 2020 09:07:15

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Задачка Обработка массива чисел

.



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#4 Фев. 11, 2020 13:55:53

graf
Зарегистрирован: 2020-01-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка Обработка массива чисел

В общем вроде родил…

N = 3
A = [0] * N
n = 0
Midle = 0
Max = 1
Min = 100
Division = 0
k = 0

def Mine ():
MX = max (a, b, c)
MD = (a + b + c) / 3
MN = min (a, b, c)
DIV = (a + b + c) % c
return MD, MX, MN, DIV


try:
while True:
for n in range (N):
A[n] = int(input())
n += 1
a = A[0]
b = A[1]
c = A[2]
if n > 2:
n = 0
MD, MX, MN, DIV = Mine ()
Midle = (Midle*k + MD)
Max = MX if Max < MX else Max
Min = MN if Min > MN else Min
Division = Division + DIV
k += 1
Midle /= k


except ValueError:
print (round(Midle,3), Max, Min, Division)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version