Soros eredő kiszámítása
A program forrása:
def soros_ellenallas(ellenallasok):
"""
Kiszámolja a soros ellenállások eredő ellenállását.
:param ellenallasok: Lista az ellenállások értékeivel (Ohm-ban).
:return: Az eredő ellenállás értéke (Ohm).
"""
return sum(ellenallasok)
def parhuzamos_ellenallas(ellenallasok):
"""
Kiszámolja a párhuzamos ellenállások eredő ellenállását.
:param ellenallasok: Lista az ellenállások értékeivel (Ohm-ban).
:return: Az eredő ellenállás értéke (Ohm).
"""
# Az ellenállások reciprokának összegét vesszük, majd inverzét számítjuk ki
reciprok_osszeg = sum(1 / ellenallas for ellenallas in ellenallasok)
return 1 / reciprok_osszeg if reciprok_osszeg != 0 else float('inf')
def main():
print("Válassza ki az ellenállások típusát:")
tipus = input("1 - Soros, 2 - Párhuzamos: ")
if tipus not in ['1', '2']:
print("Érvénytelen választás.")
return
ellenallasok = []
while True:
ertek = input("Adjon meg egy ellenállást Ohm-ban (vagy hagyja üresen a befejezéshez): ")
if not ertek:
break
try:
ellenallasok.append(float(ertek))
except ValueError:
print("Kérjük, érvényes számot adjon meg.")
if not ellenallasok:
print("Nincs ellenállás megadva.")
return
if tipus == '1':
eredo_ellenallas = soros_ellenallas(ellenallasok)
print(f"A soros ellenállások eredő ellenállása: {eredo_ellenallas} Ohm")
else:
eredo_ellenallas = parhuzamos_ellenallas(ellenallasok)
print(f"A párhuzamos ellenállások eredő ellenállása: {eredo_ellenallas} Ohm")
if __name__ == "__main__":
main()