Python :: Aufgabe #293

3 Lösungen Lösungen öffentlich

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ß


Lösungen:

vote_ok
von Gisbert5020 (3120 Punkte) - 16.10.2020 um 17:34 Uhr
Quellcode ausblenden 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))
vote_ok
von AlexGroeg (2010 Punkte) - 27.10.2020 um 19:28 Uhr
Quellcode ausblenden 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())
    

vote_ok
von Willi (210 Punkte) - 02.11.2020 um 13:56 Uhr
Quellcode ausblenden 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!")
2003947

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.