Seite 1 von 2

wie mach ich ne wertetabelle?

Verfasst: Donnerstag 8. September 2005, 19:11
von Jeanne
hallo ihr!
also ich habe in der schule informatik und ja wir arbeiten halt mit python. jetzt hab ich versucht so ne wertetabelle zu machen, aber irgendwie hab ich nur die hälfte davon aufgeschrieben, oder kA. auf jedenfall zeigt er mir immer nen fehler an. könnt ihr mir zufällig sagen wie ich ne wertetabelle machen kann??
und wie man negative zahlen einsetzt... vielleicht könnt ihr mir ja helfen, weil ich nämlich irgendwie keine ahnung hab... :roll:

danke Jeanne

P.S: wertetabelle von -4.5 bis +5.5
funktion 0,1xhoch4-0,1xhoch3-2,4xhoch2+0,4x+8

Verfasst: Donnerstag 8. September 2005, 19:14
von Leonidas
Lies doch bitte erstmal diesen Thread. Wir geben nur Hilfe zur Selbsthilfe, also wäre es gut, wenn du deinen Code samt Fehlermeldung erstmal postest, als von uns zu verlangen deine Hausaufgaben zu machen. Mit dem Code können wir ja mal schaun :P

Verfasst: Donnerstag 8. September 2005, 19:23
von Gast
es ist zwar nicht meine hausaufgabe, aber was solls! und wenn du so antwortest, kommt es mir vor, als wenn du selbst keine ahnung hast, aber naja. wie auch immer. ja hier halt:

Code: Alles auswählen

def wertetabelle (-4.5,5.5,0.5):
      x=-4.5
      y=0,1xhoch4-0,1xhoch3-2,4xhoch2+0,4x+8
      while x<=5.5:
              print x,'   ',y
              x=-4.5 + 0.5

ja das geb ich halt da ein und dann zeigt er mir bei dem minus vor der ersten 4 nen fehler und wenn ich das wegmachen würde, dann zeigt er mir bei der 5 von -4.5 nen fehler. ja und bei der letzten zeile x=-4.5 + 0.5 hab ich auch irgendwie kein plan ob das richtig ist.

Edit (Leonidas): Code in Python-Tags gesetzt.

Verfasst: Donnerstag 8. September 2005, 19:31
von mawe
kommt es mir vor, als wenn du selbst keine ahnung hast
Der war gut :D Na gibs schon zu Leonidas, Du bist mit der Aufgabenstellung überfordert :D

Naja, weil ich nicht so bin, hier mal ein kleiner Anhaltspunkt:

Code: Alles auswählen

>>> for x in range(10):
...     print x
Jetzt hast Du x-Werte von 0 bis 9. Der Rest ist Hausaufgabe :)

Gruß, mawe

Verfasst: Donnerstag 8. September 2005, 19:51
von Gast
was redest du denn da jetzt irgendwas mit 10?
ich will nix mit 10.

Verfasst: Donnerstag 8. September 2005, 19:53
von Leonidas
mawe hat geschrieben:
kommt es mir vor, als wenn du selbst keine ahnung hast
Der war gut :D Na gibs schon zu Leonidas, Du bist mit der Aufgabenstellung überfordert :D
Hmm, mawe, ich frage mich wie Jeanne das herausgefunden hat. :twisted:
@Jeanne: Die Taktik, den Moderatoren des Forums erstmal zu sagen, dass sie keine Ahnung haben, würde ich mal als suboptimal einstufen.
mawe hat geschrieben:Der Rest ist Hausaufgabe :)
Hey, mawe, Jeanne hat selbst gesagt dass es keine ist ;)

Dazu ist mir Milans xlrange eingefallen,
das kann man für sowas grandios verwenden:

Code: Alles auswählen

def xlrange(start,stop=None,step=1):
    """xlrange([start=0,]stop[,step=1]) --> iterator object like xrange for longs"""
    if stop==None:
        stop=start
        start=0
    if step>0:
        while start<stop:
            yield start
            start+=step
    elif step<0:
        while start>stop:
            yield start
            start+=step
    else:
        raise ValueError, "xlrange() arg 3 (step) must not be zero"

for i in xlrange(-4.5, 6.0, 0.5):
    print i
So Jeanne, jetzt hast du mal alle Zahlen von -4.5 bis 5.5 in 0.5er Schritten. Jetzt brauchst sie nur noch zu Quadrieren, oder was auch immer. Damit ist die Hausaufgabe auch schon fast fertig.

Verfasst: Donnerstag 8. September 2005, 19:57
von mawe
Leonidas hat geschrieben: Hey, mawe, Jeanne hat selbst gesagt dass es keine ist
Ich weiss, diese Hausaufgabe war von mir :D

Verfasst: Donnerstag 8. September 2005, 19:58
von Gast
naja irgendwie wart ihr keine hilfe... aber was solls!

Verfasst: Donnerstag 8. September 2005, 20:01
von Leonidas
Hmm, Jeanne sag jetzt mal:
Die Bereich von x ist von -4.5 bis 5.5. Wie groß ist die Schrittweite? 0.5?

Deine Hausaufgabe ist falst gelöst und du sagst, wir waren keine Hilfe. Vielleicht liegt es daran, dass du unsere Tipps nicht verstehst oder nicht verstehen willst sondern scheinbar auf eine fertige Lösung hoffst.

Verfasst: Donnerstag 8. September 2005, 20:12
von Gast
so wie ich euch das da..also warte mal....

def wertetabelle (a,b,sw):
x=a
y= die funktion
while x<=b:
print x,' ',y
x=x+sw


so, das hat unser lehrer an die tafel geschrieben. und das
wertetabelle von -4.5 bis +5.5
funktion 0,1xhoch4-0,1xhoch3-2,4xhoch2+0,4x+8

ist halt das, wo er meinte, wovon wir halt diese wertetabelle da ausrechnen können!!(wir habn ihn in informatik & mathe...) aber wie gesagt, macht python bei mir imma ne fehlermeldung. deswegen nützt es mir nix, wenn ihr mir irgendwelche anderen möglichkeiten sagt, wie ich das machen kann... verstehst du/ihr?

Verfasst: Donnerstag 8. September 2005, 20:15
von XT@ngel
Anonymous hat geschrieben:aber wie gesagt, macht python bei mir imma ne fehlermeldung.
Was sagt dir diese Fehlermeldung?

MfG
Andreas

Verfasst: Donnerstag 8. September 2005, 20:18
von mawe
Na das is es ja fast schon :)
Wenn Du die Funktion noch so schreibst, dass Python was damit anfangen kann, hast Du's schon geschafft (beinahe).

Code: Alles auswählen

y = 0.1*x**4 - 0.1*x**3 ...
Aufrufen musst Du das ganze dann mit

Code: Alles auswählen

wertetabelle(-4.5, 5.5, 0.5)

Verfasst: Donnerstag 8. September 2005, 20:19
von Gast
ja er macht wie gesagt das minus vor der ersten 4 rot. und wenn ich das dann wegmache und dann nochma probier ist die 5 angeblich falsch

Verfasst: Donnerstag 8. September 2005, 20:20
von Gast
also unser lehrer meinte, dass potenzen also so gehen:

5*x**4

heisst halt
5xhoch4

Verfasst: Donnerstag 8. September 2005, 20:21
von mawe
Stimmt, habs grad ausgebessert (peinlich).

Verfasst: Donnerstag 8. September 2005, 20:23
von Gast
ja mach tja nix, aber irgendwie kapier ich net was daran halt falsch is, wenn ich das eingeb

Verfasst: Donnerstag 8. September 2005, 20:31
von jens
Poste doch nochmal deinen jetzigen Code... Ach und setzte den zwischen [python]BlaBlaBla[/python]

Verfasst: Donnerstag 8. September 2005, 20:32
von mawe

Code: Alles auswählen

def wertetabelle (-4.5,5.5,0.5):
      x=-4.5
      y=0,1xhoch4-0,1xhoch3-2,4xhoch2+0,4x+8
      while x<=5.5:
              print x,'   ',y
              x=-4.5 + 0.5
Das hast Du gepostet. Na gut, mal überlegen ... wozu schreibst Du bei def wertetabelle(-4.5, 5.5, 0.5), die Zahlen in die Klammer? Kannst Du eigentlich weglassen, Du schreibst ja nachher eh x = -4.5 ;) Der Witz an der Sache ist ja, dass Du diese Funktion auch mit anderen Werten verwenden können willst. Also verwenden wir Variablen:

Code: Alles auswählen

def wertetabelle(a, b, sw):
    x = a
    ...
Wie ich Dir vorhin gezeigt habe, rufst Du das ganze dann mit

Code: Alles auswählen

wertetabelle(-4.5, 5.5, 0.5)
auf. Dann ist x auch -4.5. Mit Deiner Version (ohne Werte in Klammern, die verursachen eh nur Fehlermeldungen ;)) kannst Du die Funktion nur mit diesen 3 Werten verwenden, was sehr unflexibel ist.

Verfasst: Donnerstag 8. September 2005, 20:40
von Gast
:? irgendwie ist das alles zu hoch für mich :oops:

also meinst du jetzt ich soll das alles so eingeben

def wertetabelle ():
x=-4.5
y=0,1xhoch4-0,1xhoch3-2,4xhoch2+0,4x+8
while x<=5.5:
print x,' ',y
x=-4.5 + 0.5

oder was? also wenn ich das mache, und das dann halt mit

wertetabelle(-4.5, 5.5, 0.5)

aufrufe, dann kommt mal wieder eine fehermeldung... :cry:

Verfasst: Donnerstag 8. September 2005, 20:54
von mawe
:) Nein.

Code: Alles auswählen

def wertetabelle():
Das ist eine Funktion die keine Argumente haben will.

Code: Alles auswählen

wertetabelle(-4.5, 5.5, 0.5)
Hier rufst Du sie mit 3 Argumenten auf. Dass Python sich hier beschwert ist doch logisch, oder? ;)
Ich hab Dir ja schon gezeigt wie Du's machen sollst:

Code: Alles auswählen

def wertetabelle(a, b, sw):     # <- will 3 Argumente haben
    ...

wertetabelle(-4.5, 5.5, 0.5)    # <- wird mit 3 Argumenten gefüttert