ОС: Windows 11
Версия Python 3.12
pip 24.2
Вот мой код:
Вместо вывода:
[12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
Я получаю:
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
Версия Python 3.12
pip 24.2
Вот мой код:
Python:
class Figure:
SIDES_COUNT = 0
def __init__(self, filled, r, g, b, *args, sides=None, color=None):
if filled == 1 or filled == 0:
self.filled = bool(filled)
else:
self.filled = True
if color is None:
color = [r, g, b]
self.__color = color
if sides is None:
if len(args) == self.SIDES_COUNT:
self.__sides = args
else:
self.__sides = [self.SIDES_COUNT] * self.SIDES_COUNT
def get_color(self):
return self.__color
def __is_valid_color(self, r, g, b):
if r in range(0, 256) and g in range(0, 256) and b in range(0, 256):
print(f'Цвет ({r},{g},{b}) корректен')
else:
print('Цвет некорректен')
def get_is_valid_color(self, r, g, b):
return self.__is_valid_color(r, g, b)
def __is_valid_sides(self, *args):
if len(args) == len(self.__sides):
for i in args:
if i > 0 and i % 1 == 0:
i += 1
continue
else:
return False
return True
else:
return False
def get_is_valid_sides(self, *args):
return self.__is_valid_sides(*args)
def set_color(self, r, g, b):
if r in range(0, 256) and g in range(0, 256) and b in range(0, 256):
self.__color[0] = r
self.__color[1] = g
self.__color[2] = b
else:
print('Невозможно сменить цвет')
def get_sides(self):
return self.__sides
def __len__(self):
return sum(self.__sides)
def set_sides(self, *new_sides):
if len(new_sides) == self.SIDES_COUNT:
self.__sides = new_sides
class Cube(Figure):
SIDES_COUNT = 12
def __init__(self, filled, r, g, b, *args):
super().__init__(filled, r, g, b, *args)
if len(args) == self.SIDES_COUNT:
for i in args:
new_args = []
x = 1
n = args[x]
if i != n:
self.__sides = [self.SIDES_COUNT] * self.SIDES_COUNT
break
else:
new_args.append(i)
x += 1
self.__sides = new_args
else:
self.__sides = [self.SIDES_COUNT] * self.SIDES_COUNT
def get_volume(self):
vol = self.get_sides()[0] ** 3
return vol
# код для проверки Cube:
cu = Cube(0, 55, 66, 188, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
print(cu.get_sides())
Вместо вывода:
[12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
Я получаю:
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)