Was mache ich bei dieser Pythonprogrammierung falsch?

... komplette Frage anzeigen

3 Antworten

- g*x*x*(1+tan(alpha)*tan(alpha)) / (2vn*vn)
+ x*tan(alpha)+zn

TypeError: can't multiply sequence by non-int of type 'float'

x ist eine Liste. Du kannst sie nur mit einem Integer multiplizieren: [1, 2, 3] * 2 --> [1, 2, 3, 1, 2, 3]

Wahrscheinlich meinst Du den Vorgängerwert x[-1]. Allerdings darfst Du dann nicht mit leeren Listen anfangen. Versuch's mal mit:

 x=[0.], z=[zn]
Antwort bewerten Vielen Dank für Deine Bewertung

 Von dieser gefic kten Sprache habe ich noch nie gehört - " für Was " soll DIE denn gut sein?

   Mal ganz blöd gefragt; ===> Fortran ist ja ===> Generic . du bekommst immer

   " Integer * Float = float "

  ( Floating Point ist quasi " dominant " )  Und zwar gilt das für AUSDRÜCKE , nicht nur für Variablen.

   Nun ist mir nicht gänzlich neu, dass es Sprachen gibt wie Pascal und C , die das grade nicht können. Gestatte die Frage: Wo treten in einer Wurfparabel denn Integers auf? Vielleicht ließe sich das ja vermeiden.

   Das viel geschmähte Fortran kennt etwas Weiteres, was keine Sprache einschließlich Basic anerkennt: die IMPLICIT Anweisung; ich kann ihm sagen REAL O - R ; COMPLEX S - Z  . Auch so ein Ding; keine Sprache kann komplex ...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Lumpi101
26.11.2016, 13:52

Python kann komplex

1

Erstmal als ersen: ss fehlen sämtliche Multiplikationszeichen (in Python: *) in den Formeln (vllt. ist das auch nur durch das Kopieren passiert...)

Die for-Schleife würde ich folgendermaßen umbauen:

for i in range(0.0, 25.0, 0.01):

    x.append(i)

    z.append([Formel])

[Formel] ist dabei die gleiche Formel wie bei dir ABER statt die x's in der Formel muss i (also die Laufvariable der Schleife) eingesetzt werden!!

Versuch es dann nochmal. Ich erhebe keinen Anspruch darauf, alle Fehler im Quelltext gefunden zu haben ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ralphdieter
26.11.2016, 14:09

ss fehlen sämtliche Multiplikationszeichen

Beim Verfassen der Frage läuft noch der alte Editor. Dort wird mit *text* kursiv formatiert. Das lässt sich kaum verhindern, wenn man diese Formatierung nicht kennt :-(

0

Was möchtest Du wissen?