erstmal hallo an alle im Forum!
Freue mich dabei zu sein.
ich bin noch neu in der Pythonwelt,
habe bereits das einschlägig angepriesene Tutorial
angefangen jedoch noch nicht vollendet.
Habe jetzt eine Frage:
Ich würde gerne ein Programm schreiben, welches mit
dem sog. Sehnentrapezverfahren ein Integral näherungsweise
bestimmen kann.
Bin bis zu dem Punkt gekommen an dem ich mich frage:
Wie kann das Programm die Eingabe des Benutzers interpretieren
(z.B. x**2 )?
Da kriege ich nur 3 Fragezeichen.
Ich habe bereits mit verschiedenen Sucheingaben die SuFu gequält,
jedoch meiner Meinung nach nichts passendes zum Thema gefunden.
Wenn ihr von einem Thema wisst oder auf eins stoßt könntet ihr es mir
ja melden.
Hier den Code von meinem bisherigen Programm:
(Die Python-Gurus dürfen mich gern zerreißen...:"Modulebene..."etc. Wenn ihr es nicht tut werde ich es langsamer lernen also nur zu!)
Code: Alles auswählen
##Hiermit sollen Integrale numerisch durch das Sehnentrapezverfahren angen?hert werden
import math, os
beenden=True
print """
*******************************
* Integralannaeherung durch *
* Sehnentrapezverfahren *
* (Fuer weitere Informationen *
* einfach "info" eintippen) *
*******************************
"""
def was_soll_ich_machen():
global beenden
was_tun=raw_input("Bitte eingeben was zu tun ist:")
try:
was_tun=str(was_tun)
except:
pass
if (was_tun=="info"):
print """
*****************************************************
* Version: v 0.1 *
* Author: Jonas W. *
* Moegl. Eingaben: *
* "info" : Hilfe *
* "eingabe" : Um einen Term einzugeben *
* "auswertung" : Um den letzten Term auszuwerten *
* "exit" : Um das Programm zu beenden *
*****************************************************
"""
elif (was_tun=="exit"):
beenden=False
elif (was_tun=="eingabe"):
term_eingabe()
elif (was_tun=="auswertung"):
term_auswertung()
else:
pass
def term_eingabe():
term=raw_input("Bitte Funktionsterm eingeben:")
o_grenze=raw_input("Bitte obere Grenze eingeben:")
u_grenze=raw_input("Bitte untere Grenze eingeben:")
anz_str=raw_input("Bitte Anzahl Streifen eingeben:")
betr_o_grenze=0
betr_u_grenze=0
streifenbreite=0.0
try:
o_grenze=str(o_grenze)
except:
pass
try:
u_grenze=str(u_grenze)
except:
pass
try:
anz_str=int(anz_str)
except:
pass
if (u_grenze[0]=="-"):
betr_u_grenze=int(u_grenze)*(-1)
else:
betr_u_grenze=int(u_grenze)
if (o_grenze[0]=="-"):
betr_o_grenze=int(o_grenze)*(-1)
else:
betr_o_grenze=int(o_grenze)
if (int(o_grenze) & int(u_grenze) > 0):
streifenbreite=(float(betr_o_grenze)-float(betr_u_grenze))/float(anz_str)
elif (int(o_grenze) & int(u_grenze) < 0):
streifenbreite=(float(betr_o_grenze)-float(betr_u_grenze))/float(anz_str)
else:
streifenbreite=(float(betr_o_grenze)+float(betr_u_grenze))/float(anz_str)
print "Funktionsterm: "+term
print "Obergrenze: "+o_grenze
print "Untergrenze: "+u_grenze
print "Anzahl Streifen: ",anz_str
print "Betrag Obergrenze: ",betr_o_grenze
print "Betrag Untergrenze: ",betr_u_grenze
print "Streifenbreite: ",streifenbreite
pass
def term_auswertung():
streifenbreite_test=0.0 ##Bitte hier nicht wundern ist nur zu Dummy-
if (streifenbreite_test==0.0): ##Zwecken da.
print "Zuerst muss ein Term eingegeben werden!"
pass
else:
pass
while (beenden == True):
was_soll_ich_machen()
Mit freundlichen Grüßen
Jonas