Anonymous
В чем разница, что одна функция работает, а другая нет?
Сообщение
Anonymous » 09 ноя 2024, 20:25
Итак, у меня возник вопрос. У меня есть класс с функциями, которые могут переключать шину между значениями 1 и 2.
Код: Выделить всё
class Bus:
idx:int
u:complex
i_inj: complex
bus_type: int #define 0 slack, 1 pv, 2 pq
#y: complex # ?
p: float
q: float
q_min: float
q_max: float
TYPE_NAMES = {0: "Slack", 1: "PV", 2: "PQ"}
def __init__(self, idx, bus_type, voltage_mag, voltage_ang, p, q, q_min, q_max):
self.idx = idx
self.bus_type = bus_type
self.u=complex(voltage_mag*np.cos(voltage_ang),voltage_mag*np.sin(voltage_ang))
self.voltage_mag = voltage_mag
self.voltage_ang = voltage_ang
self.p = p
self.q = q
#self.y=y # maybe
self.q_min = q_min
self.q_max = q_max
def switch_pq(self):
if self.idx != 2 and self.bus_type == 1:
if self.q < self.q_min:
self.bus_type = 2
self.q = self.q_min
return True
elif self.q > self.q_max:
self.bus_type = 2
self.q = self.q_max
return True
return False
def switch_back(self):
if self.idx != 2 and self.bus_type == 2 and self.q_min
Подробнее здесь: [url]https://stackoverflow.com/questions/79173266/what-is-the-difference-here-that-make-one-function-work-while-the-other-one-does[/url]
1731173101
Anonymous
Итак, у меня возник вопрос. У меня есть класс с функциями, которые могут переключать шину между значениями 1 и 2. [code]class Bus: idx:int u:complex i_inj: complex bus_type: int #define 0 slack, 1 pv, 2 pq #y: complex # ? p: float q: float q_min: float q_max: float TYPE_NAMES = {0: "Slack", 1: "PV", 2: "PQ"} def __init__(self, idx, bus_type, voltage_mag, voltage_ang, p, q, q_min, q_max): self.idx = idx self.bus_type = bus_type self.u=complex(voltage_mag*np.cos(voltage_ang),voltage_mag*np.sin(voltage_ang)) self.voltage_mag = voltage_mag self.voltage_ang = voltage_ang self.p = p self.q = q #self.y=y # maybe self.q_min = q_min self.q_max = q_max def switch_pq(self): if self.idx != 2 and self.bus_type == 1: if self.q < self.q_min: self.bus_type = 2 self.q = self.q_min return True elif self.q > self.q_max: self.bus_type = 2 self.q = self.q_max return True return False def switch_back(self): if self.idx != 2 and self.bus_type == 2 and self.q_min Подробнее здесь: [url]https://stackoverflow.com/questions/79173266/what-is-the-difference-here-that-make-one-function-work-while-the-other-one-does[/url]