Python :: Aufgabe #293
3 Lösungen
Berechnung von Widerständen
Anfänger - Python
von JKooP
- 04.10.2020 um 10:58 Uhr
Schreibe eine Methode bzw. Funktion, mit der man den Gesamtwiderstand von Parallel- bzw. Reihenschaltungen berechnen kann.
Dabei sollen sowohl die Werte der Einzelwiderstände als auch die Art der Schaltung vom Benutzer erfragt werden.
Variante 1: 2 separate Funktionen: f(float a, float b, … float n)
Variante 2: 1 kombinierte Funktion: f(artDerSchaltung, float a, float b, … float n)
Viel Spaß
Dabei sollen sowohl die Werte der Einzelwiderstände als auch die Art der Schaltung vom Benutzer erfragt werden.
Variante 1: 2 separate Funktionen: f(float a, float b, … float n)
Variante 2: 1 kombinierte Funktion: f(artDerSchaltung, float a, float b, … float n)
Viel Spaß
Lösungen:
Python-Code
import sys def berechnung(art, widerstaende): print(widerstaende) summe = 0 if art == "s": for w in widerstaende: summe += w print("Der Gesamtwiderstand in Serienschaltung ist: ",summe, "Ohm") if art == "p": for w in widerstaende: summe += 1/w print("Der Gesamtwiderstand in Paralleschaltung ist: ",int(1/summe), "Ohm") widerstaende=[] print("Widestandsberechnung:") print("---------------------") print("Wenn Sie fertig sind geben Sie s für Serien- und p für Parallelschaltung ein.") print() while 1: widerstand = input("Geben Sie einen Widerstanswert ein:") if widerstand == "s" or widerstand == "p": berechnung(widerstand, widerstaende) break widerstaende.append(int(widerstand))
Python-Code
# -*- coding: utf-8 -*- # Python 3.8.5 def parallel(a): ''' Parallele Wiederstandsberechnung: R = 1 / (1/R1 + 1/R2 + 1/R3 + ...) usw. Anzahl beliebig ''' p = 0 for i in range(0, a): p = p + 1/w[i] return 1/p def seriell(): ''' Serielle Wiederstandsberechnung: R = R1 + R2 + ... usw. Anzahl beliebig ''' return sum(w) w = [] # Wiederstandsliste # Abfrage starten a = int(input('Anzahl der einzelnen Widerstände? : ')) for i in range(0, a): w.append(float(input('Wiederstandswert [{}] : '.format(i+1)))) # Berechnung / Ausgabe print('\nGesamtwiederstand parallel =', parallel(a)) print('Gesamtwiederstand seriell =', seriell())
Python-Code
print("Geben sie vier verschiedene Widerstandswerte in Ohm ein.") R1 = float(input()) R2 = float(input()) R3 = float(input()) R4 = float(input()) print( "R1=", R1, "Ohm", "R2=", R2, "Ohm", "R3=", R3, "Ohm", "R4=", R4, "Ohm",) print("Handelt es sich um eine Reihenschaltung oder Parallel" "schaltung? Geben sie entsprechend eine 1 oder eine 2 ein") Zahl=int(input()) if Zahl ==1: Rr = R1+R2+R3+R4 print("Der Reihenwiderstand der vier Widerstände lautet:",Rr, "Ohm") elif Zahl ==2: Rp = 1/R1+1/R2+1/R3+1/R4 print ("Der Parallelwiderstand der vier Widerstände lautet:",1/Rp,"Ohm") else: print ("Falsche Eingabe!")