Контейнеры на складе лежат в ряд в порядке невозрастания своей массы (в килограммах). На склад привезли ещё один контейнер, который также нужно положить на определённое место.
Напишите программу, которая получает на вход невозрастающую последовательность натуральных чисел, означающих массу каждого контейнера в ряду. После этого вводится число 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()
34900login-checkЗадача 7. Контейнеры
