Seite 1 von 1

math.pow() Variabel übergeben ?

Verfasst: Samstag 21. August 2021, 16:32
von dmaier34
Hallo,

ich bin ein blutiger Anfänger und gehe gerade ein paar Übungsaufgaben durch. Bei einer Aufgabe soll einfach
die Diagonale eines Rechtecks berechnet werden. d = Wurzel aus a² + b ². Dazu hab ich folgendes Programm geschrieben:
----------------------------------------------------------------------------------------
import math

# Diagonale eines Rechtecks berechnen

print("Wir berechenn die Diagonale eines Dreiecks")
print()

a = input("Bitte geben Sie die Länge der Seita a an:")
b = input("Bitte geben Sie die Länge der Seite b an:")

#Diagonale berechnen
d = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
print("Ergebnis:",d)
------------------------------------------------------------------------------------------

Dann gibt es aber folgende Rücklmeldung:
------------------------------------------------------------------------------------------
d = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
TypeError: must be real number, not str
------------------------------------------------------------------------------------------

Ich will aber die eingegebene Zahl benutzen, wie mache ich das richtig ? Kann ich keine Zahl aus einer Variable an
die math.pow Funktion übergeben ? Hab schon alles mögliche durchprobiert, mache es aber nur schlimmer :)

Vorab schon mal Danke für eure Hilfe.

Lg
Maier

Re: math.pow() Variabel übergeben ?

Verfasst: Samstag 21. August 2021, 17:38
von sparrow
Input liefert eine Zeichenkette zurück. Mit Zeichenketten kann man aber nicht rechnen. Du brauchst sie entweder als int (Integer) oder float (Fließkommazahl).
Eine Zeichenkette konvertiert man mit int(Zeichenkette) bzw. float(Zeichenkette).

Re: math.pow() Variabel übergeben ?

Verfasst: Samstag 21. August 2021, 19:26
von Sirius3
Ändert zwar nichts am Problem, aber zum Potenzieren benutzt man normalerweise den Potenz-Operator **:

Code: Alles auswählen

d = (a ** 2 +  b ** 2) ** 0.5