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))
