Вопрос Задача по Python о контейнерах

Регистрация
23 Фев 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Что нужно сделать

Контейнеры на складе лежат в ряд в порядке невозрастания (меньше либо равно) массы в килограммах. На склад привезли ещё один контейнер, который тоже нужно положить на определённое место.

Напишите программу, которая получает на вход невозрастающую последовательность натуральных чисел. Они означают массу каждого контейнера в ряду. После этого вводится число X — масса нового контейнера. Программа выводит номер, под которым будет лежать новый контейнер. Если в ряде есть контейнеры с массой, как у нового, то его нужно положить после них.

Обеспечьте контроль ввода: все числа не превышают 200.

 

Пример:

Количество контейнеров: 8

Введите вес контейнера: 165

Введите вес контейнера: 163

Введите вес контейнера: 160

Введите вес контейнера: 160

Введите вес контейнера: 157

Введите вес контейнера: 157

Введите вес контейнера: 155

Введите вес контейнера: 154

 

Введите вес нового контейнера: 162

 

Номер, который получит новый контейнер: 3



def get_input_parameters():

"""

Получаем список весов контейнеров и вес нового контейнера

Незабываем проверит данные: все числа целые и не превышают 200.



:return: список весов контейнеров и вес нового контейнера,

например: ([165, 163, 160, 160, 157, 157, 155, 154], 162)

:rtype: Tuple[List[int], int]

"""



return

# TODO: в этой функции пишем весь необходимый код для

# получения входных параметров.

# Логику расчётов тут не программируем

pass





def display_result(serial_number_new_container):

"""

Выводим порядковый номер нового контейнера.



:param serial_number_new_container: порядковый номер нового контейнера, например: 3

:type serial_number_new_container: int

"""

# TODO: в этой функции пишем весь необходимый код

# для вывода результата в нужном формате.

# Логику расчётов тут не программируем

pass





def search_serial_number_new_container(list_container_weights, new_container_weight):

"""

Ищем куда вставим новый контейнер.



:param list_container_weights: список весов контейнеров, например: [165, 163, 160, 160, 157, 157, 155, 154]

:type list_container_weights: List[int]

:param new_container_weight: вес нового контейнера, например: 166

:type new_container_weight: int



:return: порядковый номер нового контейнера, например: 3

:rtype: int

"""

# TODO: в этой функции пишем логику поиска куда вставим новый контейнер.

# print'ов и input'ов тут не должно быть.

# Функция на вход принимает ранее полученные данные

# (из функции get_input_parameters).

# Функция на выход отдаёт результат необходимый для отображения работы программы,

# который будет передан в функцию display_result.

pass





if __name__ == '__main__':

# Это условие необходимо, чтобы в рамках автотестов не произошёл

# вызов функций get_input_parameters и display_result

list_container_weights, new_container_weight = get_input_parameters() # получаем параметры

# Ищем куда вставим новый контейнер.

serial_number_new_container = search_serial_number_new_container(list_container_weights, new_container_weight)

display_result(serial_number_new_container) # выводим результат
 
наивно думать, что найдётся адекватный программист, который вот так вот за бесплатно будет тратить драгоценное время на то чтобы разобраться с условием и решить тебе эту задачу
 
Назад
Сверху