Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PYTHON классы задача

Uo SGGek Ученик (87), на голосовании 9 месяцев назад
Поместите в стек 10 экземпляром класса Box. У каждой коробки есть длина, ширина, выстоа (все задается случайным образом) Поместите коробки из стека в список, в котором коробки должны быть расположены в порядке уменьшения суммы значений длины и ширины
Голосование за лучший ответ
Professional Professional Мудрец (15222) 10 месяцев назад
Для решения этой задачи мы будем использовать модуль random для создания случайных значений и структуру данных стека. В Python, стек может быть представлен как список, где добавление элемента происходит с помощью метода append(), а удаление - с помощью метода pop(). После того как все коробки будут добавлены в стек, мы переместим их в список, используя функцию sorted() для сортировки по убыванию суммы длины и ширины.

Ниже приведен код, который выполняет это:

```python
import random

class Box:
def __init__(self):
self.length = random.randint(1, 100)
self.width = random.randint(1, 100)
self.height = random.randint(1, 100)

def sum_length_width(self):
return self.length + self.width

# Создаем стек
stack = []

# Добавляем 10 коробок в стек
for _ in range(10):
box = Box()
stack.append(box)

# Перемещаем коробки из стека в список
box_list = []

while stack:
box = stack.pop()
box_list.append(box)

# Сортируем список по убыванию суммы длины и ширины
box_list.sort(key=lambda box: box.sum_length_width(), reverse=True)

# Проверка результата
for box in box_list:
print(f'Length: {box.length}, Width: {box.width}, Height: {box.height}, Sum: {box.sum_length_width()}')
```

Этот скрипт создает 10 экземпляров класса Box с случайными длиной, шириной и высотой. Затем они добавляются в стек. Затем все коробки извлекаются из стека и добавляются в список, который затем сортируется в порядке убывания суммы длины и ширины каждой коробки.
Похожие вопросы