PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python: Berechnung einfacher mathematischen Funktion



Monri
15.07.2018, 23:33
Hallo,

als Anfänger übe ich Lernprogramme auf Python. Hier geht es um Berechnung einer mathematischen Funktion.

Ich schreibe ein Python-Programm das vom Benutzer zwei Zahlenwerte x_anfang und x_ende (Ganzzahlen) anfordert.
Die mathematische Funktion soll dann für alle Werte in diesem Wertebereich berechnet werden:

y = ½ x³ – ½ x² + 2x + 3

Die jeweiligen x und y Werte sollen auf dem Bildschirm ausgeben werden.

---------------------

Das Programm habe ich so geschrieben:

from math import *

x_anfang=float(input("Eingabe_Anfangswert:"))
x_ende=float(input("Eingabe_Endwert:"))
sw=float(input("Eingabe_Schrittweite:"))

x=float

y = 1/2*x**3 - 1/2*x**2 + 2*x + 3

for x in arange(x_anfang, x_ende, sw):

print("x=", x)
print("y=", y)
#print()

Nach dem "RUN" erhalte ich Eingabenaufforderungen, aber danach Fehlermeldung:

>>>
RESTART: C:/....... Berechnung math Funkion.py
Eingabe_Anfangswert:1
Eingabe_Endwert:3
Eingabe_Schrittweite:1

Traceback (most recent call last):

File "C:/........... Berechnung math Funkion.py", line 9, in <module>
y = 1/2*x**3 - 1/2*x**2 + 2*x + 3

TypeError: unsupported operand type(s) for ** or pow(): 'type' and 'int'

>>>

Was ist mein Fehler und wie kann ich das Programm fehlerfrei und lauffähig machen? Bitte um Korrektur.

ARetobor
16.07.2018, 01:20
Hallo,
frage mal hier:
https://www.python-forum.de/

Gruß
ARetobor

Defiant
16.07.2018, 07:04
x=float

Damit setzt du 'x' auf den Typ 'type' mit dem Wert 'float', machst daraus aber keine float-variable. Deswegen die Fehlermeldung. Zeile ersatzlos löschen



y = 1/2*x**3 - 1/2*x**2 + 2*x + 3

Soll die Zeile in die for-Schleife?



for x in arange(x_anfang, x_ende, sw):

arange gibt es in python direkt nicht. Es gibt aber in numpy eine Methode mit dem namen.

Monri
18.07.2018, 21:35
Vielen Dank