math.pow() Variabel übergeben ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dmaier34
User
Beiträge: 1
Registriert: Samstag 21. August 2021, 16:20

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
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

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).
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Ä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
Antworten