Ich habe vor ein paar tagen mit Python angefangen. Nun will ich versuchen ein kleines Programm zu schreiben das ein paar Formeln der Physik ausrechnet. Hier erst mal der Code :
Code: Alles auswählen
version = "Version 1.0"
print "Physikprogramm, %s " % version
physikthemen = ["Mechanik", "Thermodynamik"]
mechanik = ["Senkrechter Wurf"]
thermodynamik = ["Gasgleichung"]
print "Was moechten Sie berechnen? "
for themen in physikthemen:
print themen
a = raw_input("> ")
def calculate_one(t):
return (10/2)*t*t
if a == physikthemen[0]:
for themen in mechanik:
print themen
print "Berechnung der Strecke mit g : "
t = raw_input("Nach wieviel Sekunden ?\n> ")
calculate_one(t)
elif a == physikthemen[1]:
for themen in thermodynamik:
print themen
print "Berechnung des Volumens bei konstanter Dichte: "
raw_input("Druck?\n>")
else:
print "Abbruch"
Ich will da noch viel mehr einbauen, das soll erst mal der Prototyp sein für meine ersten Versuche.
Das ist der Fehler den ich bekomme:
Traceback (most recent call last):
File "ex1.py", line 19, in <module>
calculate_one(t)
File "ex1.py", line 12, in calculate_one
return (10/2)*t*t
TypeError: can't multiply sequence by non-int of type 'str'
Und zwar will ich das Programm so schreiben das ich möglichst viel von dem Zeug das ich gelesen hab dort verwenden kann. Ich hab mir überlegt das ich jeweils die Formeln als eigene Funktionen definiere, also die Rechenvorschrift in der Funktion ist, und diese Funktion dann den Wert ausgiebt. Der Fehler liegt jetzt also hier dran:
Code: Alles auswählen
def calculate_one(t):
return (10/2)*t*t
Code: Alles auswählen
calculate_one(t)
Kann mir da jemand helfen?
Lg