Hey, ich muss für mein Studium von einer vorgegebenen Liste den Mittelwert, die Standardabweichung und die Z-Transformation berechen. Ich habe es schon mehrfach ausprobiert leider kriege ich kein Ergebnis raus, deswegen wollte ich fragen ob jemand weiß wie man dies berechnet bzw. die Funktion weiß die man braucht.
Mein versuch:
groesse = (
68.78190404589029,
74.11010539178491,
71.7309784033377,
69.8817958611153,
67.2530156878065,
68.78508125166161,
68.34851551158789,
67.01894966288299,
63.456493978366396,
71.1953822829745,
71.64080511922059,
64.7663291334055,
69.2830700967204,
69.2437322298112,
67.6456197004212,
72.4183166259878,
)
def mittelwert (groesse):
summe=0
l = len(groesse)
for wert in groesse:
print(summe,wert)
summe= summe + wert
mw= summe/1
return mw
Mittelwert, Standardabweichung und z- Transformation berechen
Du solltest noch näher beschreiben, wo Du genau Probleme bekommst, sonst kann man ja schlecht helfen. Beim Programmieren sollte man Abkürzungen (mw) vermeiden, weil man sie schlecht verstehen kann. Einbuchstabige Variablen vor allem solche die man leicht mit anderen Zeichen verwechseln kann (l, 1, I) solltest Du gar nicht benutzen.
Wir haben das so in der Vorlesung beigebracht bekommen, ich bin ein kompletter Anfänger und kennne mich jetzt nicht wirklich mit diesem Programm aus. Mein Problem ist, dass diese von mir oben angegebene Funktion leider nicht funktioniert es spukt kein Ergebnis aus. Auch wird kein error angezeigt, lediglich eine neue Spalte wird angefangen. Deswegen wollte ich fragen ob jemand weiß wie man die oben genannten Sachen ausrechnet bzw. Eine Funktion kennt.
Wir haben das so in der Vorlesung beigebracht bekommen, ich bin ein kompletter Anfänger und kennne mich jetzt nicht wirklich mit diesem Programm aus. Mein Problem ist, dass diese von mir oben angegebene Funktion leider nicht funktioniert es spukt kein Ergebnis aus. Auch wird kein error angezeigt, lediglich eine neue Spalte wird angefangen. Deswegen wollte ich fragen ob jemand weiß wie man die oben genannten Sachen ausrechnet bzw. Eine Funktion kennt.Sirius3 hat geschrieben: ↑Montag 19. November 2018, 22:18 Du solltest noch näher beschreiben, wo Du genau Probleme bekommst, sonst kann man ja schlecht helfen. Beim Programmieren sollte man Abkürzungen (mw) vermeiden, weil man sie schlecht verstehen kann. Einbuchstabige Variablen vor allem solche die man leicht mit anderen Zeichen verwechseln kann (l, 1, I) solltest Du gar nicht benutzen.
- __blackjack__
- User
- Beiträge: 13922
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Aileens: Das scheint ja eine Uni-Vorlesung zu sein und wenn Du da kein Python beigebracht bekommst, dann gehen die Dozenten in der Regel davon aus, das Du Dir das selbstständig erarbeitest, also Dich hinsetzt und selbst Python lernst. Mindestens bis zu einem Level um das Programm lesen und verstehen zu können und selbst Programme zu schreiben um die gestellten Aufgaben zu lösen. Das was Du an Code zeigst ist auch noch problemlos für Anfänger mit den Grundlagen leistbar. Ein Grundlagentutorial zu Python findest Du beispielsweise direkt in der Python-Dokumentation.
In Python 3 gibt es in der Standardbibliothek übrigens auch ein `statistics`-Modul das Dir vielleicht etwas Arbeit abnehmen kann. Sofern die eigentlich Aufgabe nicht ist tatsächlich die Rechnungen komplett selbst zu programmieren, statt sich in einem fertigen Modul zumindest an Bausteinen zu bedienen.
In Python 3 gibt es in der Standardbibliothek übrigens auch ein `statistics`-Modul das Dir vielleicht etwas Arbeit abnehmen kann. Sofern die eigentlich Aufgabe nicht ist tatsächlich die Rechnungen komplett selbst zu programmieren, statt sich in einem fertigen Modul zumindest an Bausteinen zu bedienen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
__blackjack__ hat geschrieben: ↑Dienstag 20. November 2018, 15:24 @Aileens: Das scheint ja eine Uni-Vorlesung zu sein und wenn Du da kein Python beigebracht bekommst, dann gehen die Dozenten in der Regel davon aus, das Du Dir das selbstständig erarbeitest, also Dich hinsetzt und selbst Python lernst. Mindestens bis zu einem Level um das Programm lesen und verstehen zu können und selbst Programme zu schreiben um die gestellten Aufgaben zu lösen. Das was Du an Code zeigst ist auch noch problemlos für Anfänger mit den Grundlagen leistbar. Ein Grundlagentutorial zu Python findest Du beispielsweise direkt in der Python-Dokumentation.
In Python 3 gibt es in der Standardbibliothek übrigens auch ein `statistics`-Modul das Dir vielleicht etwas Arbeit abnehmen kann. Sofern die eigentlich Aufgabe nicht ist tatsächlich die Rechnungen komplett selbst zu programmieren, statt sich in einem fertigen Modul zumindest an Bausteinen zu bedienen.
Hey, leider bringt mir diese Antwort nichts aber ich Danke trotzdem
Ich sehe da ueberhaupt keine Spalte. Das du zwei Spalten mit print ausgibst ist dir klar? Das dein Rueckgabewert mw falsch ist, liegt daran, dass du nicht durch das richtige teilst. Worauf sich auch der Hinweis von Sirius3 bezog.
- __blackjack__
- User
- Beiträge: 13922
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Aileens: Wenn Du welche Aktion ausführst? Was ist hier die „Aktion“? Und natürlich passiert nichts weiter bei dem anfangs gezeigten Code, denn da steht nichts weiter als das zwei Werte definiert werden: `groesse` und `mittelwert`, also ein Tupel mit Werten und eine Funktion. Die ruft sich nicht auf magische Weise selbst auf und rät dabei was sie wohl als Argument verwenden soll. Das wüsste man, wenn man die Python-Grundlagen beherrscht.
Wieso hilft Dir der Hinweis darauf, dass man Python lernen muss um in Python zu programmieren nicht weiter? Das wusstest Du schon, aber Du willst Python nicht lernen? Dann willst Du hier eine Lösung für *Deine* Aufgaben haben? Warum sollte hier jemand so einen Betrugsversuch unterstützen wollen?
Wieso hilft Dir der Hinweis darauf, dass man Python lernen muss um in Python zu programmieren nicht weiter? Das wusstest Du schon, aber Du willst Python nicht lernen? Dann willst Du hier eine Lösung für *Deine* Aufgaben haben? Warum sollte hier jemand so einen Betrugsversuch unterstützen wollen?
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Das ist kein Betrugsversuch um das vorab erstmals klar zustellen. Das ich die Grundlagen kennen muss ist mir klar, ich wollte lediglich wissen was genau ich oben falsch gemacht habe, da ich selber den Fehler nicht finde. Danke für die Antwort, auch wenn von Nettigkeit nicht wirklich die Rede sein kann. Bitte ignoriere doch einfach meine Frage, falls es dir in irgendeiner Art und Weise zu Nahe geht oder dich eventuell sogar in eine moralisches Dilemma versetzt. Schließlich ist dieses Portal zum austauschen gedacht und nicht um jemanden runter zumachen, denke da kann man seinen Abend echt produktiver verbringen. Vielen Dank und einen schönen Abend Ihnen.__blackjack__ hat geschrieben: ↑Mittwoch 21. November 2018, 17:54 @Aileens: Wenn Du welche Aktion ausführst? Was ist hier die „Aktion“? Und natürlich passiert nichts weiter bei dem anfangs gezeigten Code, denn da steht nichts weiter als das zwei Werte definiert werden: `groesse` und `mittelwert`, also ein Tupel mit Werten und eine Funktion. Die ruft sich nicht auf magische Weise selbst auf und rät dabei was sie wohl als Argument verwenden soll. Das wüsste man, wenn man die Python-Grundlagen beherrscht.
Wieso hilft Dir der Hinweis darauf, dass man Python lernen muss um in Python zu programmieren nicht weiter? Das wusstest Du schon, aber Du willst Python nicht lernen? Dann willst Du hier eine Lösung für *Deine* Aufgaben haben? Warum sollte hier jemand so einen Betrugsversuch unterstützen wollen?
Nein das meine ich nicht, ich meine wenn ich die Aktion ausführe in Python ergo shift + enter drücke passiert nichts. Danke, dann probiere ich das gleich aus und gebe dann Bescheid.
Hallo Aileens,
wenn du eine Funktion definierst, musst du diese auch aufrufen und den Rückgabewert weiterverwenden z.B. ausgeben
wenn du eine Funktion definierst, musst du diese auch aufrufen und den Rückgabewert weiterverwenden z.B. ausgeben
Code: Alles auswählen
groesse = (68.78190404589029, 74.11010539178491, 71.7309784033377, 69.8817958611153, 67.2530156878065,
68.78508125166161, 68.34851551158789, 67.01894966288299, 63.456493978366396, 71.1953822829745,
71.64080511922059, 64.7663291334055, 69.2830700967204, 69.2437322298112, 67.6456197004212, 72.4183166259878)
def mittelwert(liste_von_werten):
summe = 0
for wert in liste_von_werten:
summe = summe + wert
return summe / len(liste_von_werten)
mean = mittelwert(groesse)
print(mean)
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Hallo ThomasL, vielen lieben dank: Es hat geklappt! Dann weiß ich jetzt wie ich es zukünftig zu bewältigen habe.ThomasL hat geschrieben: ↑Donnerstag 22. November 2018, 22:39 Hallo Aileens,
wenn du eine Funktion definierst, musst du diese auch aufrufen und den Rückgabewert weiterverwenden z.B. ausgeben
Code: Alles auswählen
groesse = (68.78190404589029, 74.11010539178491, 71.7309784033377, 69.8817958611153, 67.2530156878065, 68.78508125166161, 68.34851551158789, 67.01894966288299, 63.456493978366396, 71.1953822829745, 71.64080511922059, 64.7663291334055, 69.2830700967204, 69.2437322298112, 67.6456197004212, 72.4183166259878) def mittelwert(liste_von_werten): summe = 0 for wert in liste_von_werten: summe = summe + wert return summe / len(liste_von_werten) mean = mittelwert(groesse) print(mean)
@ThomasL: wenn Du hier schon Code reparierst, warum dann nicht gleich komplett?
Code: Alles auswählen
def mittelwert(liste_von_werten):
return sum(liste_von_werten) / len(liste_von_werten)
@Sirius3 um dir eine Möglichkeit zu bieten, hier unnötig reinzugrätschen.
Stört dich das der OP sich jetzt für meine Hilfe bedankt?
Der Code war doch bis auf einen Typo und dem Verständnisproblem ok.
Hätte man sofort in der ersten Antwort erledigen können, stattdessen wird hier rumgeeiert.
Nicht meine Art.
Bitte unterlass in Zukunft Kommentare dieser Art in meine Richtung. Danke.
Stört dich das der OP sich jetzt für meine Hilfe bedankt?
Der Code war doch bis auf einen Typo und dem Verständnisproblem ok.
Hätte man sofort in der ersten Antwort erledigen können, stattdessen wird hier rumgeeiert.
Nicht meine Art.
Bitte unterlass in Zukunft Kommentare dieser Art in meine Richtung. Danke.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png