Mathematische Funktionen aus Liste verwenden

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
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Hallo Leute!

Wie kann ich mathematische Funktionen, die alle in einer Liste stehen für Berrechnung verwenden?

Code: Alles auswählen

x=0.5
list=[cos(x),sin(x),tan(x),cosh(x),atan(x)]

print ergebnisse # in Liste sollen die 5 Ergebnisse stehen

Danke für eure Hilfe!

gruß
Johannes
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

so gehts:

Code: Alles auswählen

import math
x=0.5
list=[math.cos(x), math.sin(x), math.tan(x), math.cosh(x), math.atan(x)]
print list
oder du nimmst halt nur ein Element aus der liste, so z.b.:

Code: Alles auswählen

print list[0]
oder verweist ein Element der liste auf einen variable:

Code: Alles auswählen

y=list[0]
mfg

Thomas :-)
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Entweder so:

Code: Alles auswählen

x=0.5
ergebnis=[sin(x),cos(x),...]
Aber was du wahrscheinlich eher willst:

Code: Alles auswählen

fs = [sin,cos,tan,...]
x=0.5
ergebnis = [f(x) for f in fs]
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Danke!

Wie kann ich in die Liste an ein jedes Element vorne "math." hinzufügen?

Lg

Johannes
helmut
User
Beiträge: 57
Registriert: Mittwoch 2. November 2005, 07:45
Wohnort: Dormagen

Mit "from math import cos,sin,tan, ...." brauchst Du nichts weiter einzufuegen.

Helmut
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

keboo hat geschrieben:Wie kann ich in die Liste an ein jedes Element vorne "math." hinzufügen?
Mit einem Editor ;)
Python hat (noch) kein "with" wie in Pascal.

Du kannst auch statt

Code: Alles auswählen

import math
schreiben:

Code: Alles auswählen

from math import sin,cos,tan,...
oder auch

Code: Alles auswählen

from math import *
Letzteres sollte man nach Möglichkeit aber nicht machen, da du dir den globalen Namespace vollhaust.
Antworten