class Circuit:
def __init__(self, resistances, voltage):
self.resistances = resistances
self.voltage = voltage
def total_resistance_series(self):
return sum(self.resistances)
def total_resistance_parallel(self):
return 1 / sum(1/r for r in self.resistances if r != 0) # Добавлено условие, чтобы избежать деления на ноль
def current(self, total_resistance):
return self.voltage / total_resistance
def voltage_across_resistor(self, resistor, current):
return resistor * current
def main():
voltage = float(input("Введите напряжение (Вольты): "))
# Ввод данных для последовательного соединения
num_series = int(input("Введите количество резисторов для последовательного соединения: "))
resistances_series = []
for i in range(num_series):
resistance = float(input(f"Введите сопротивление резистора {i+1} (Омы): "))
resistances_series.append(resistance)
# Ввод данных для параллельного соединения
num_parallel = int(input("Введите количество резисторов для параллельного соединения: "))
resistances_parallel = []
for i in range(num_parallel):
resistance = float(input(f"Введите сопротивление резистора {i+1} (Омы): "))
resistances_parallel.append(resistance)
# Создаем объекты цепи для последовательного и параллельного соединения
series_circuit = Circuit(resistances_series, voltage)
parallel_circuit = Circuit(resistances_parallel, voltage)
# Расчеты для последовательного соединения
total_resistance_series = series_circuit.total_resistance_series() # Исправлено
current_series = series_circuit.current(total_resistance_series)
voltages_series = [series_circuit.voltage_across_resistor(r, current_series) for r in resistances_series]
# Расчеты для параллельного соединения
total_resistance_parallel = parallel_circuit.total_resistance_parallel() # Исправлено
current_parallel = parallel_circuit.current(total_resistance_parallel)
currents_parallel = [voltage / r for r in resistances_parallel]
# Вывод результатов
print("\nПоследовательное соединение:")
print(f"Общее сопротивление: {total_resistance_series:.2f} Ом")
print(f"Ток: {current_series:.2f} А")
print("Напряжение на каждом резисторе:")
for i, v in enumerate(voltages_series):
print(f"Резистор {i+1}: {v:.2f} В")
print("\nПараллельное соединение:")
print(f"Общее сопротивление: {total_resistance_parallel:.2f} Ом")
print(f"Ток: {current_parallel:.2f} А")
print("Ток через каждый резистор:")
for i, c in enumerate(currents_parallel):
print(f"Резистор {i+1}: {c:.2f} А")
if __name__ == "__main__": # Исправлено
main()
class Circuit:
def __init__(self, resistances, voltage):
self.resistances = resistances
self.voltage = voltage
def total_resistance_series(self):
return sum(self.resistances)
def total_resistance_parallel(self):
return 1 / sum(1 / r for r in self.resistances)
def current(self, total_resistance):
return self.voltage / total_resistance
def voltage_across_resistor(self, resistor, current):
return resistor * current
def main():
voltage = float(input("Введите напряжение (Вольты): "))
# Ввод данных для последовательного соединения
num_series = int(input("Введите количество резисторов для последовательного соединения: "))
resistances_series = []
for i in range(num_series):
resistance = float(input(f"Введите сопротивление резистора {i + 1} (Омы): "))
resistances_series.append(resistance)
# Ввод данных для параллельного соединения
num_parallel = int(input("Введите количество резисторов для параллельного соединения: "))
resistances_parallel = []
for i in range(num_parallel):
resistance = float(input(f"Введите сопротивление резистора {i + 1} (Омы): "))
resistances_parallel.append(resistance)
# Создаем объекты цепи для последовательного и параллельного соединения
series_circuit = Circuit(resistances_series, voltage)
parallel_circuit = Circuit(resistances_parallel, voltage)
# Расчеты для последовательного соединения
total_resistance_series = series_circuit.total_resistance_series()
current_series = series_circuit.current(total_resistance_series)
voltages_series = [series_circuit.voltage_across_resistor(r, current_series) for r in resistances_series]
# Расчеты для параллельного соединения
total_resistance_parallel = parallel_circuit.total_resistance_parallel()
current_parallel = parallel_circuit.current(total_resistance_parallel)
currents_parallel = [voltage / r for r in resistances_parallel]
# Вывод результатов
print("\nПоследовательное соединение:")
print(f"Общее сопротивление: {total_resistance_series} Ом")
print(f"Ток: {current_series} А")
print("Напряжение на каждом резисторе:")
for i, v in enumerate(voltages_series):
print(f"Резистор {i + 1}: {v} В")
print("\nПараллельное соединение:")
print(f"Общее сопротивление: {total_resistance_parallel} Ом")
print(f"Ток: {current_parallel} А")
print("Ток через каждый резистор:")
for i, c in enumerate(currents_parallel):
print(f"Резистор {i + 1}: {c} А")
if __name__ == "__main__":
main()
def __init__(self, resistances, voltage):
self.resistances = resistances
self.voltage = voltage
def total_resistance_series(self):
return sum(self.resistances)
def total_resistance_parallel(self):
return 1 / sum(1/r for r in self.resistances)
def current(self, total_resistance):
return self.voltage / total_resistance
def voltage_across_resistor(self, resistor, current):
return resistor * current
def main():
voltage = float(input("Введите напряжение (Вольты): "))
# Ввод данных для последовательного соединения
num_series = int(input("Введите количество резисторов для последовательного соединения: "))
resistances_series = []
for i in range(num_series):
resistance = float(input(f"Введите сопротивление резистора {i+1} (Омы): "))
resistances_series.append(resistance)
# Ввод данных для параллельного соединения
num_parallel = int(input("Введите количество резисторов для параллельного соединения: "))
resistances_parallel = []
for i in range(num_parallel):
resistance = float(input(f"Введите сопротивление резистора {i+1} (Омы): "))
resistances_parallel.append(resistance)
# Создаем объекты цепи для последовательного и параллельного соединения
series_circuit = Circuit(resistances_series, voltage)
parallel_circuit = Circuit(resistances_parallel, voltage)
# Расчеты для последовательного соединения
total_resistance_series = series_ circuit.total _resistance_series()
current_series = series_circuit.current(total_resistance_series)
voltages_series = [series_circuit.voltage_across_resistor(r, current_series) for r in resistances_series]
# Расчеты для параллельного соединения
total_resistance_parallel = parallel_ circuit.total _resistance_parallel()
current_parallel = parallel_circuit.current(total_resistance_parallel)
currents_parallel = [voltage / r for r in resistances_parallel]
# Вывод результатов
print("\nПоследовательное соединение:")
print(f"Общее сопротивление: {total_resistance_series} Ом")
print(f"Ток: {current_series} А")
print("Напряжение на каждом резисторе:")
for i, v in enumerate(voltages_series):
print(f"Резистор {i+1}: {v} В")
print("\nПараллельное соединение:")
print(f"Общее сопротивление: {total_resistance_parallel:.2f} Ом")
print(f"Ток: {current_parallel:.2f} А")
print("Ток через каждый резистор:")
for i, c in enumerate(currents_parallel):
print(f"Резистор {i+1}: {c:.2f} А")
if name == "__main__":
main()