Задача 7. Контейнеры

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

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

Пример:

Кол-во контейнеров: 8
Введите вес контейнера: 165 
Введите вес контейнера: 163 
Введите вес контейнера: 160 
Введите вес контейнера: 160 
Введите вес контейнера: 157 
Введите вес контейнера: 157 
Введите вес контейнера: 155 
Введите вес контейнера: 154 
Введите вес нового контейнера: 162
Номер, куда встанет новый контейнер: 3

Решение:

def main():
    number = int(input('Кол-во контейнеров: '))
    containers = []
    row = 0
    for i in range(number):
        while True:
            query_string = 'Введите вес ' + str(i + 1) + ' контейнера: '
            weight = int(input(query_string))
            if weight <= 200:
                break
        containers.append(weight)
    containers.sort(reverse=True)
    new_weight = int(input('Введите вес нового контейнера: '))
    for c in range(len(containers)):
        row = c + 1
        if containers[c] < new_weight:
            break
    print('Номер, куда встанет новый контейнер:', row)

if __name__ == '__main__':
    main()

3490login-checkЗадача 7. Контейнеры

Добавить комментарий