/
Demek
/
DSam621
Обзор
Документация
Войти
/
Demek
/
DSam621
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
Python/cw10.py
154 строки
6 KB
d_e_m_e_k
классная работа №10
28 июн 2026, 21:37
28 июн 2026, 21:37
0cc0923
Код
Авторство
О чём код?
class Table: def __init__(self, material, legs_count, height): # Конструктор: инициализируем атрибуты объекта self.material = material self.legs_count = legs_count self.height = height self.is_clean = True # по умолчанию стол чистый self.is_folded = False # по умолчанию стол разложен def clean(self): """Метод: стол чистят""" self.is_clean = True return f"Стол из {self.material} теперь чистый." def unclean(self): """Метод: стол загрязняется""" self.is_clean = False return f"Стол из {self.material} стал грязным." def fold(self): """Метод: стол складывают""" if not self.is_folded: self.is_folded = True return f"Стол из {self.material} сложен." else: return f"Стол из {self.material} уже сложен." def unfold(self): """Метод: стол разложен""" if self.is_folded: self.is_folded = False return f"Стол из {self.material} разложен." else: return f"Стол из {self.material} уже разложен." def get_info(self): """Метод: возвращает информацию о столе""" cleanliness = "чистый" if self.is_clean else "грязный" fold_status = "сложен" if self.is_folded else "разложен" return (f"Стол: материал - {self.material}, " f"ножек: {self.legs_count}, высота: {self.height} см, " f"{cleanliness}, {fold_status}.") # Создаём объекты (экземпляры класса) table1 = Table("дуб", 4, 75) table2 = Table("стекло", 2, 80) # Используем методы print(table1.get_info()) # Стол: материал - дуб, ножек: 4, высота: 75 см, чистый, разложен. print(table2.get_info()) # Стол: материал - стекло, ножек: 2, высота: 80 см, чистый, разложен. print(table1.clean()) # Стол из дуб теперь чистый. print(table1.unclean()) # Стол из дуб стал грязным. print(table1.get_info()) # ...грязный... print(table1.fold()) # Стол из дуб сложен. print(table1.get_info()) # ...сложен... print(table1.fold()) # Стол из дуб уже сложен. # tensor_3d = [ # [[1, 2], [3, 4]], # слой 0 # [[5, 6], [7, 8]] # слой 1 # ] # # Добавим третий слой (слой 2) # tensor_3d.append([ # [9, 10], # [11, 12] # ]) # # Добавим четвёртый слой (слой 3) # tensor_3d.append([ # [13, 14], # [15, 16] # ]) # print(f"Печатаем новый массим на экран: {tensor_3d}") # print(f"Печатаем элемент из второго слоя, первого элемента, второго элемента : {tensor_3d[1][0][1]}") # 6 — как и раньше # print(f"Печатаем элемент : {tensor_3d[2][0][0]}") # 9 — новый элемент # print(f"Печатаем элемент : {tensor_3d[3][1][1]}") # 16 — новый элемент # print(f"Печатаем удаленный слой на экран: {tensor_3d.pop()}") # print(f"Печатаем измененный массив на экран: {tensor_3d}") # from tabulate import tabulate # # 3D-массив (тENSOR) # tensor_3d = [ # [[1, 2], [3, 4]], # слой 0 # [[5, 6], [7, 8]] # слой 1 # ] # # Добавим третий слой (слой 2) # tensor_3d.append([ # [9, 10], # [11, 12] # ]) # # Добавим четвёртый слой (слой 3) # tensor_3d.append([ # [13, 14], # [15, 16] # ]) # print("🧮 Работа с 3D-массивом (тENSOR)") # print("=" * 50) # # === Сначала обычный вывод === # print(f"\nПечатаем новый массив на экран: {tensor_3d}") # print(f"\nПечатаем элемент из второго слоя, первого элемента, второго элемента: {tensor_3d[1][0][1]}") # 6 # print(f"Печатаем элемент: {tensor_3d[2][0][0]}") # 9 # print(f"Печатаем элемент: {tensor_3d[3][1][1]}") # 16 # # === Сводная таблица по слоям через tabulate === # print("\n📊 Сводная таблица по слоям:") # headers = ["Слой", "Сумма", "Кол-во элементов", "Минимум", "Максимум"] # rows = [] # for i, layer in enumerate(tensor_3d): # flat_layer = [item for sublayer in layer for item in sublayer] # Flatten # rows.append([ # f"Слой {i}", # sum(flat_layer), # len(flat_layer), # min(flat_layer), # max(flat_layer) # ]) # print(tabulate(rows, headers=headers, tablefmt="grid")) # # === Удаление слоя и финальный вывод === # print(f"\nПечатаем удаленный слой на экран: {tensor_3d.pop()}") # print(f"\nПечатаем измененный массив на экран: {tensor_3d}") # # === Финальная таблица после удаления === # print("\n📊 Финальная таблица (после удаления слоя):") # headers = ["Слой", "Сумма", "Кол-во элементов", "Минимум", "Максимум"] # rows_final = [] # for i, layer in enumerate(tensor_3d): # flat_layer = [item for sublayer in layer for item in sublayer] # rows_final.append([ # f"Слой {i}", # sum(flat_layer), # len(flat_layer), # min(flat_layer), # max(flat_layer) # ]) # print(tabulate(rows_final, headers=headers, tablefmt="grid"))