Seite 1 von 1

Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 17:36
von meisenheinrich
Hallo,
das ist mein erster Eintrag in diesem Forum. Ich habe vor einigen Wochen mit Python angefangen und bin auf ein Problem gestoßen:
In meinem Code habe ich eine Variable, welche eine Zahl enthält, die ich zuerst umkehren will mit * -1 und anschließend in eine Formel einbauen will.
So sieht der Code momentan aus:
Wert_1 = Wert_1 * -1
Lösung_b= math.sqrt(math.pow(Wert_1, 2) + math.pow(Wert_2, 2))
print("Die Länge der Seite b beträgt:")
print(Lösung_b)
(Ich habe den restlichen Code weggelassen, weil bis dahin alles funktioniert hat.)

Jetzt ist aber das Problem, dass anscheinend der Wert zwar tatsächlich mit * -1 multipliziert wird, jedoch scheint dies in der Rechnung nicht beachtet zu werden. Denn die Lösung wäre richtig, wenn das Vorzeichen von Wert_1 positiv wäre.
Also meine Frage ist: Wie bekomme ich es hin, dass der Wert umgekehrt wird und der umgekehrte Wert dann in der Rechnung beachtet wird.
Vielen Dank und LG

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 18:04
von narpfel
Moin,

was ist denn deiner Meinung nach der Unterschied zwischen x² und (-x)²?

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 18:19
von meisenheinrich
Es geht um den Satz des Pythagoras. Wenn man Seite a und c gegeben hat und b berechnen möchte, müssen -a und c in einer Wurzel jeweils quadriert und dann addiert werden. b = sqrt(-a^2 + c^2)
Da kommt nunmal nicht dasselbe raus wenn a beispielsweise 12 und nicht -12 ist.

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 18:34
von narpfel
@meisenheinrich: Das ist jetzt aber was anderes, als du im Code geschrieben hast. Da kommt also noch ein dritter (und vierter?) Fall dazu: Was ist der Unterschied zwischen x², (-x)², -x² und -(x²)? Welches davon willst du haben und was hast du im Code stehen?

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 18:44
von meisenheinrich
Ich verstehe ehrlich gesagt die Frage nicht.
if Gesucht == "c":
Lösung_c = math.sqrt(math.pow(Wert_1, 2) + math.pow(Wert_2, 2))
print("Die Länge der Seite c beträgt:")
print(Lösung_c)

elif Gesucht == "b":
Wert_1 = Wert_1 * -1
Lösung_b= math.sqrt(math.pow(Wert_1, 2) + math.pow(Wert_2, 2))
print("Die Länge der Seite b beträgt:")
print(Lösung_b)

Das ist der Code. Bei dem oberen funktioniert es fehlerfrei (da muss der erste Wert auch nicht umgekehrt werden), aber beim zweiten kommt dummerweise dasselbe raus wie beim ersten.

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 19:11
von Sirius3
Variablennamen schreibt man komplett klein.
Statt math.pow benutzt man ** und statt math.sqrt benutze ich **0.5
Und wie narpfel schon schieb gibt es einen Unterschied zwischen (-x)**2 und -x**2. Es kommt auf die Reihenfolge der Mathematischen Operationen an.
Wenn Du es einfach so schreibst, wie in Deiner Formel, dann passt es schon:

Code: Alles auswählen

lösung_b = (wert_c ** 2 - wert_a ** 2) ** 0.5
print("Die Länge der Seite b beträgt:", lösung_b)

Re: Variable mit umgekehrtem Vorzeichen funktioniert nicht

Verfasst: Donnerstag 8. Juli 2021, 19:28
von meisenheinrich
Vielen Dank @Sirius3. Jetzt funktioniert's!