Die Eingabe der floats, integers, oder Gleichungen in raw_input eine variable definieren

Ich geschrieben habe, das Programm so zu lösen von zwei Gleichungen basierend auf Werten, die vom Benutzer definiert. Die Konstanten kx und ky, den ich definiert habe als Schwimmer. Für den range - Variablen start - und Ende- ich möchte den Benutzer eine Zahl eingeben, oder so etwas wie 6 * np.pi (6Pi). So wie es jetzt ist, bekomme ich die folgende Fehlermeldung. Wie kann ich diese variable definieren, damit Benutzer die Eingabe mehrerer Arten von Eingängen? Danke!

    Traceback (most recent call last):
  File "lab1_2.py", line 11, in <module>
    x = np.linspace(start, end, 256, endpoint=True)
  File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-  packages/numpy/core/function_base.py", line 80, in linspace
    step = (stop-start)/float((num-1))
  TypeError: unsupported operand type(s) for -: 'str' and 'float'

Hier der code:

from pylab import *
import numpy as np

kx = float(raw_input("kx: "))
ky = float(raw_input("ky: "))

print "Define the range of the output:"
start = float(raw_input("From: "))
end = float((raw_input("To: "))

x = np.linspace(start, end, 256, endpoint=True)
y = np.linspace(start, end, 256, endpoint=True)

dz_dx = ((1 / 2.0) * kx * np.exp((-kx * x) / 2)) * ((2 * np.cos(kx *x)) - (np.sin(kx * x)))
dz_dy = ((1 / 2.0) * ky * np.exp((-ky * y) / 2)) * ((2 * np.cos(ky *y)) - (np.sin(ky * y)))

plot(x, dz_dx, linewidth = 1.0)
plot(y, dz_dy, linewidth = 1.0)
grid(True)


show()

InformationsquelleAutor Jonathan Fry | 2013-01-28

Schreibe einen Kommentar