Vissza a Főoldalra>>>

Soros és párhuzamos ellenállás

Program feladata:
A program bekéri az ellenállások értékeit, majd kiszámolja és kiírja az eredményt.

A program forrása:

        
      def soros_ellenallas(ellenallasok):

      return sum(ellenallasok)
  
  def parhuzamos_ellenallas(ellenallasok):
      
      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()
	
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()