Python :: Aufgabe #290
5 Lösungen

Spannung, Stromstärke, Widerstand
Anfänger - Python
von JKooP
- 04.10.2020 um 12:43 Uhr
Schreibe eine Methode/Funktion, die je nach Eingabe von 2 Werten den fehlenden Wert ermittelt.
Die möglichen einzugebenden Werte sind Spannung (U [Volt]), Widerstand (R [Ohm]) bzw. Stromstärke (I [Ampere]).
Der fehlende Wert kann null/nothing oder jedes andere beliebige Zeichen sein.
Die Formel zur Berechnung lautet: U = R * I
Beispiel:
U := 270.0
R := null
I := 3.0
R = I / U = 270 / 3 = 90.0 Ohm
Viel Spaß
Die möglichen einzugebenden Werte sind Spannung (U [Volt]), Widerstand (R [Ohm]) bzw. Stromstärke (I [Ampere]).
Der fehlende Wert kann null/nothing oder jedes andere beliebige Zeichen sein.
Die Formel zur Berechnung lautet: U = R * I
Beispiel:
U := 270.0
R := null
I := 3.0
R = I / U = 270 / 3 = 90.0 Ohm
Viel Spaß
Lösungen:

def uri_calc(u_volt, r_ohm, i_ampere): if u_volt is None: u_volt = r_ohm * i_ampere print("Volt:", u_volt," Ohm:" , r_ohm , " Ampere:", i_ampere) elif r_ohm is None: r_ohm = u_volt / i_ampere print("Volt:", u_volt," Ohm:", r_ohm, " Ampere:", i_ampere) elif i_ampere is None: i_ampere = u_volt / r_ohm print("Volt:", u_volt," Ohm:", r_ohm, " Ampere:", i_ampere) else: print("Volt:", u_volt," Ohm:", r_ohm, " Ampere:", i_ampere) if __name__ == "__main__": uri_calc(270.0,None,3.0)

# -*- coding: utf-8 -*- # Python 3.8.5 def berechnung(U, I, R): if U > 0 and R > 0 and I > 0 or U == 0 and R == 0 and I == 0: print('Falsche Eingabe.\n') eingabe() else: if U == 0: U = R * I print('Die Spannung beträgt {} Volt'.format(U)) if R == 0: R = U / I print('Der Wiederstand beträgt {} Ohm'.format(R)) if I == 0: I = U / R print('Die Stromstärke beträgt {} Ampere'.format(I)) def eingabe(): print('Werte zur Berechnung eingeben, zu berechnenden Wert \nmit 0 überspringen!\n') U = int(input('Spannung : ')) I = int(input('Stromstärke: ')) R = int(input('Wiederstand: ')) berechnung(U, I, R) # main eingabe()

#U=R*I print("Geben sie zwei von drei ganzen Werten vor!Der gesuchte Wert wird Null gesetzt:") U=int(input("Geben sie eine Spannung in Volt ein: ") ) I=int(input("Geben Sie einen Strom in Ampere ein: ") ) R=int(input("Geben Sie einen Widerstand in Ohm ein: ") ) if R and I != 0 and U == 0: print("Die fehlende Spannung lautet:", R*I ,"Volt") elif U and R != 0 and I == 0: Strom = U/R print("Der fehlende Strom lautet:", Strom ,"Ampere") elif U and I != 0 and R == 0: Widerstand = U/I print("Der fehlende Widerstand lautet:", Widerstand ,"Ohm") else: print("Falsche Eingabe! Ein Eingabewert muss Null sein")

#Stromstärke, Widerstand oder Spannung berechnen. import colorama colorama.init(autoreset=True) def URI(): u = -1 r = -1 i = -1 while (u<0 or u==None) or r<0 or i<0 or (u>0 and r>0 and i>0): try: print("Bitte geben sie 2 Werte aus Spannung, Widerstand oder Strom an.") u = float(input("Bitte geben sie die Spannung in Volt an: ")) r = float(input("Bitte geben sie den Widerstand in Ohm an: ")) i = float(input("Bitte geben sie den Strom in Ampere an: ")) except ValueError: print(colorama.Fore.RED + "\nNur Zahlen sind erlaubt!\n") continue if (u==0 or u==None) and r>0 and i>0: ergebnis = str(round((r*i),2)) + " Volt" elif u>0 and r==0 and i>0: ergebnis = str(round((u/i),2)) + " Ohm" elif u>0 and r>0 and i==0: ergebnis = str(round((u/r),3)) + " Ampere" return ergebnis print(URI())

FORMULA = {'u': lambda r,i: r*i, 'r': lambda u,i: u/i, 'i': lambda u,r: u/r} def uri(u=None, r=None, i=None): try: if not u: return FORMULA['u'](r,i) elif not r: return FORMULA['r'](u,i) elif not i: return FORMULA['i'](u,r) except TypeError: return 'Sie müssen 2 von 3 Werten angeben.' print(uri(u=270, r=None, i=3)) print(uri(u=6, r=2)) print(uri(r=6, i=2)) print(uri(u=6, i=2)) print(uri(u=6))