EXTREMES Problem HILFE!

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.
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

hallo, hab mich heute angemeldet und direkt ne frage:
ich bin dabei ein programm zu erstellen, wo man eine funktion eingeben kann (z.B. : x+2) und anschließend den Wert für x (z.B : 4) eingeben kann

so sieht das ganze dann bei mir aus:

funktion=raw_input("Ihre Funktion:") (z.B. : x+2)
x=input("ihr X-Wert:") (z.B. : 4)
print "Ergebnis:",funktion (er schreibt: x+2
und nicht : 6 !?)

so aber das mir raw_input scheint net zu klappen, bei print zeigt der dann immer die komplette funktion an und nicht das ergebnis

gibts dafür vielleicht einen extra befehl???

würde mich über baldige antworten freuen mfg
LP640
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

raw_input ist nicht das selbe wie input ;)
Schau mal hier: [wiki]raw input vs. input[/wiki]

btw. bitte das beachten: http://www.python-forum.de/faq.php#21

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Könntest du dem Thread bitte einen vernünftigen Namen geben, welcher dein Problem auch beschreibt.

Und dann noch [wiki=Forum/Regeln]ein[/wiki], zwei bis drei hilfreiche Links. Und vielleicht auch noch den hier.

Das sollte eigentlich genügen. Sonst einfach nochmal (vernünftig ;-) ) nachfragen.
Das Leben ist wie ein Tennisball.
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Was hast du den erwartet? Das "x" dort eingesetzt wird? Python ist keine auf Mathematik fixierte Sprache wie zb Matlab (aber auch die machen sowas nicht einfach so; Mathematik besteht ja nicht nur aus dem "x" bei Funktionen, auch wenn ich haufenweise Jugendliche gesehen habe, die Mathematik / mathematische Funktionen und Variablen nie verstanden haben weil jeder nur vom x, f und dem "Einsetzen" gesprochen hat) und kennt Typen. Ein Typ ist eine Art Beschreibung eines "Dings", und davon kann es dann recht viele geben, die allesamt einen Typ haben. Magisch wird da nie irgendwo was verändert. Print druckt das aus, was es bekommt, und sonst nichts. Lies dir bitte das offizielle Python Tutorial durch: http://tutorial.pocoo.org/
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

HURRA es klappt!
Erstmal danke an euch alle vor allem an den EyDu dessen Link "den" mir sehr geholfen hat!
tut mir leid wegen dem falschen posten, wie gesagt : bin erst seit heute hier
und dass das mit dem input-zeugs net klappt hab ich mir auch gedacht
ich hatte python nur so etwa 1 jahr lang in der schule (ind dat is 2 jahre her) also kenn ich halt noch net "alle" befehle

wen es interessiert, so wäre es richtig gewesan:

Code: Alles auswählen

import sys
funktion=raw_input("Ihre Funktion:")
x=input("ihr X-Wert:")
print eval(funktion)      
<----- ein eval und ne Klammer !lol! naja hättet ihr gleich sagen können
nochmals vielen dank
mfg

LP640
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Da hast du wohl falsch getestet. Was soll dabei raus kommen?
Wenn du sowas wie einen einfachen Taschenrechner bauen möchtest, brauchst du zwei Zahlen und eine Mathematische Funktion, die dann auf diese zwei Zahlen angewendet werden...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Und jetzt überlegst du dir was passiert, wenn du '__import__("os").remove("a file")' eingibst ;-) Mit "input" und "eval" handelst du dir eine Menge Probleme ein, da eigentlich alles ausgeführt werden kann. jens hat ja schon darauf hingewiesen, wie man es vernünftig löst.
Das Leben ist wie ein Tennisball.
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

also ich weiss net was ihr meint, ich hab genau das gefunden, was ich gesucht hab
ach ja mein programm ist ohne diese "import sys " (ausversehen reinkopiert)

vielleicht könnt ihr mir unter Tkinter bei buttons mit xturtle erstellen noch helfen?

mfg
LP640
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Oh, guckt mal, den radioaktiven Abfall kann man auch in den Fluss kippen! Wie, warum glaubt ihr mir jetzt nicht dass ich das Problem der Endlagerung gelöst habe?!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

@Leonidas : YMMD!
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Wie geil :D
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das bloede ist nur, dass das wohl in Italien und England Mode war/ist :(
lunar

Nicht nur in Italien und England. Den Müll in die Berge zu kippen, auf dass er alsbald im Grundwasser verschwinde, ist aber nicht so cool ;)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

@LP640: das avatar ist ja mal deutlich zu groß geraten, um nicht zu sagen EXTREM... HILFE
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

@LP640,

da du nicht drauf antwortest gib mal ein (bei der frage bei der nach dem X-Wet gefragt wird) '__import__("sys").exit(1)' vllt merkst du dann dass das ein Problem ist
the more they change the more they stay the same
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Na dann schreibt man eben dazu, dass man das nicht darf!!!111
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

hallo leute ich hab ein neues problem
und zwar möchte ich fehlermeldungen vermeiden
hierbei zum beispiel:

Code: Alles auswählen

x=-10
while x<=10:
    y=x**0.5
    print y
    x=x+1
da kommt immer folgende fehlermeldung, was natürlcih auch logisch ist:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\Manuel Baeuml\Desktop\test.py", line 3, in <module>
    y=x**0.5
ValueError: negative number cannot be raised to a fractional power
wie kann ich jetzt zum beispiel machen, dass anstelle der fehlermeldung und einem absturz des programms ein "Achtung Fehler!" in die konsole geprinted wird???

mfg
LP640
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

schau mal hier: [wiki]try...except[/wiki]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

vielen dank jens du bist der beste
hat sofort geklappt!
wens interessiert:

Code: Alles auswählen

x=-10
while x<=10:
    try:
        y=x**0.5
        print y
    except Exception:
        print "Error"
    x=x+1

mfg
LP640
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So pauschal den Fehler Abfangen sollte man aber gerade nicht. Lies auch den Text auf der Wiki Seite ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten