Seite 1 von 1

Aufsummierung durch verschachtelte Schleife

Verfasst: Dienstag 10. April 2007, 23:02
von karo
Hallo!
An sich traue ich mich hier kaum reinzuschreiben nachdem ich mich hier umgeschaut habe um eine Lösung für mein Problem zu finden, denn meine Frage ist nicht ganz auf dem niveau von den posts hier. aber ich habe auch schon in der Bibliothek in ein paar Pythonbüchern rumgesucht und rumprobiert, aber ich kriege es einfach nicht hin.
Ich schreibe am Donnerstag meine Wirtschaftsinformatikklausur und in einer der Aufgaben an der scheinbar sehr viel in der letzten klausur gescheitert sind und die wir uns unbedingt nochmal durch den kopf gehen lassen sollten, erhält man die Liste a=[[1,4,3,5],[3,4,3,6],[1,7,5,8]]. Nun soll man diese Zahlen mit hilfe einer oder mehreren Schleifen aufsummieren und nacher davon den Durchschnitt errechnen. Als tipp hab ich schon rausgekreigt, dass das mit verschachtelten schleifen passieren soll, aber so ganz klappt das nicht.
Mein Anfang war:

Code: Alles auswählen

a=[[1,4,3,5],[3,4,3,6],[1,7,5,8]]
Summe=0
for x in a[0]:  <--dachte eigentlich nur a, aber das geht irgendwie nicht
    Summe=Summe+x
print Summe
tjoa, da kommt nunmal erstmal nur die summe der ersten klammer raus
dann hab ich folgendes probiert

Code: Alles auswählen

a=[[1,4,3,5],[3,4,3,6],[1,7,5,8]]
Summe=0
for x in a[1,4,3,5]:
     Summe=Summe+x
     for x in [3,4,3,6]:
             Summe=Summe+x
print Summe
aber da kommt dann irgendwie 77 raus.. dachte eigentlich das ich das so fortführen könnte, aber scheinbar ist das auch falsch :(.
Könnte mir da bitte einer irgendwie helfen, wäre wirklich sehr dankbar!!
Viele Grüße,
Karo

Verfasst: Dienstag 10. April 2007, 23:05
von karo
^^hmmm, eigentlich waren da jetzt auch einrückungen aber die sind jetzt leider nicht mehr da
..ahh, jetzt..

Verfasst: Dienstag 10. April 2007, 23:11
von BlackJack
Bei normalem Text klappt das nicht mit der Einrückung, dazu muss man ``code``-Tags verwenden. Ich habe das beim ersten Beitrag mal nachgeholt.

Ein Tip: Versuch nochmal das was im ersten Beispiel im Kommentar steht, also die äussere Schleife nur über `a` und in den Schleifenkörper schreibst Du anstelle der Addition einfach mal ein ``print`` um zu sehen was `x` in jedem Durchlauf der Schleife ist. Dann sollte der nächste Schritt klarer sein.

Verfasst: Mittwoch 11. April 2007, 10:17
von Mad-Marty
Probiers mal damit.
Fehlt allerdings ein check ob in der liste wirklich sub-iterables sind.

Code: Alles auswählen

>>> summe = 0
>>> i = 0
>>> for x in a:
... 	for y in x:
... 		summe += y
... 		i += 1
... 		
>>> summe / i
4
>>> summe
50
>>> i
12
>>> summe / float(i)
4.166666666666667

Verfasst: Mittwoch 11. April 2007, 13:42
von N317V
Fertige Lösungen sind immer tolle Hilfen. Da kommt dann auch keiner auf die Idee, dass man hier alles vorgekaut bekommt.

SCNR :-/

Verfasst: Mittwoch 11. April 2007, 14:39
von nkoehring
naja, bei solchen Kleinigkeiten finde ich es nichtmal so sehr schlimm, eine "Komplettloesung" anzubieten...

Aber wichtig ist ja auch, dass die Threadschreiberin daraus auch lernt! Wer wirklich lernen will, wird sich nicht nur auf die fertige Loesung stuetzen, sondern auch Sachen ausprobieren, wie zB BlackJack sie vorgeschlagen hat.

MfG

Verfasst: Mittwoch 11. April 2007, 14:42
von N317V
Ansichtssache: Du nennst es Kleinigkeiten, ich würde es eher als Grundlagen bezeichnen.

Verfasst: Mittwoch 11. April 2007, 14:49
von Andy
nkoehring hat geschrieben:Aber wichtig ist ja auch, dass die Threadschreiberin daraus auch lernt! Wer wirklich lernen will, wird sich nicht nur auf die fertige Loesung stuetzen, sondern auch Sachen ausprobieren, wie zB BlackJack sie vorgeschlagen hat.

FACK!

Wer sagt denn, dass man aus fertigen Lösungen nicht lernen kann?
Auch dies kann ein anderer Lösungsweg sein aus dem man noch was lernen kann.:wink:

Verfasst: Mittwoch 11. April 2007, 15:06
von N317V
Andy hat geschrieben:Wer sagt denn, dass man aus fertigen Lösungen nicht lernen kann?
Auch dies kann ein anderer Lösungsweg sein aus dem man noch was lernen kann.:wink:
Ist doch Haarspalterei. Black-Jacks Tipp war perfekt und ausreichend. Meine Meinung.

Verfasst: Mittwoch 11. April 2007, 15:40
von nkoehring
Gut, dann hat ja nun jeder seine Meinung dargelegt... außer der Threadschreiberin vielleicht.

Verfasst: Mittwoch 11. April 2007, 18:28
von gerold
Hi N317V!

Willst du dich prügeln? Ärger machen? Kein Sex? Was soll das?

Mach bitte aus einer Mücke keinen Sturmangriff. ;-)

mfg
Gerold
:-)

Verfasst: Mittwoch 11. April 2007, 19:01
von Leonidas
N317V hat geschrieben:Ist doch Haarspalterei. Black-Jacks Tipp war perfekt und ausreichend. Meine Meinung.
Um ehrlich zu sein, finde ich das eigentlich auch. Und wenn die Threadstarterin ein Problem gehabt hätte hätte man auch noch weitere Tipps geben können. Ich habe auch überlegt, eine komplette Lösung zu posten, habe mich aber dagegen entschieden.

grüße,
Leonidas (zu müde zum Prügeln heute - ausnahmsweise :P)

Verfasst: Mittwoch 11. April 2007, 20:45
von gerold
Leonidas hat geschrieben:zu müde zum Prügeln heute - ausnahmsweise
Hi Leonidas!

OK! Du wolltest es so. Morgen Mittag -- beim letzten Glockenschlag -- auf der Zugspitze -- Monitor-Weitwurf, bis einer von uns den Laptop abgibt! :mrgreen: :wink:

lg
Gerold
:-)

Verfasst: Mittwoch 11. April 2007, 21:08
von karo
Hallo Leute!
Wusste garnicht, dass ich hier solch eine Diskussion ausgelöst hab :oops: ich konnte leider nicht eher schreiben da ich heute einen ganztägigen workshop hatte...
also erstmal DANKE sowohl für den Tipp als auch für den lösungsweg!!
Ich habe gestern auch Black Jacks Tipp noch ausprobiert und rumprobiert, aber ehrlich gesagt bin ich nicht auf die richtige Idee gekommen. Hätte also jetzt vermutlich nochmal gefragt...
Aber natürlich bin ich auch dankbar dass der lösungsweg hier bereits gepostet ist, da ich halt heute den ganzen tag keine zeit hatte und nun so mir das noch (einigermaßen in ruhe) genauer anschaun (und verstehen) kann.
Also nochmals vielen Danke!!
Schönen Gruß,
Karo

Verfasst: Donnerstag 12. April 2007, 10:18
von N317V
gerold hat geschrieben:Hi N317V!

Willst du dich prügeln? Ärger machen? Kein Sex? Was soll das?

Mach bitte aus einer Mücke keinen Sturmangriff. ;-)

mfg
Gerold
:-)
Sturmangriff :shock:
Ich wollte nur auf meine vielleicht manchmal etwas raubeinige Art dafür sensibilisieren, dass man sich so nur zum Trollmagneten macht. Offen gesagt fällt mir gerade bei Dir, Gerold, oft auf, dass Du auf eine Problemstellung gleich ein ganzes Script ablieferst. Das ist selbstverständlich super nett und engagiert und hilftbereit und zeigt, wieviel Spaß Du bei Python hast und wieviel Sachkenntnis. Ohne, dass ich mich prügeln will, aber ich frage mich schon manchmal ob das nicht übers Ziel hinaus geschossen ist. Ich persönlich lese das Script dann oft nicht mehr und merke mir einfach nur, dass es sowas hier gibt, falls ichs mal brauche. Lernen tu ich dabei aber nichts. So wie ich diese Community kenne ist es normalerweise schon OK solche Gedanken öffentlich zu äußern. (Als ob mich das abhalten könnte :lol: ) Also bitte nicht schlagen :wink: und nix für ungut.

Re: Aufsummierung durch verschachtelte Schleife

Verfasst: Donnerstag 12. April 2007, 10:33
von Andy
Naja, dem stimm ich ja teilweise zu. Hier war es jedoch so, das karo von heut auf morgen Hilfe brauchte. Oder sollen wir nachher schuld sein, wenn die Klausur wieder schief gelaufen ist? :mrgreen:
karo hat geschrieben:Ich schreibe am Donnerstag meine Wirtschaftsinformatikklausur und in einer der Aufgaben an der scheinbar sehr viel in der letzten klausur gescheitert sind
Ich selbst habe nichts mit Informatik am Hut. Eher mit Office. :P Auch wenn ich inzwischen nicht mehr so der Anfänger schlecht hin bin, hilft es mir enorm, wenn zu einer Einsteigersprache wie Python es sein kann, jemand mir nach etlichen Versuchen seinen Lösungsweg aufzeigen kann.

Verfasst: Donnerstag 12. April 2007, 10:52
von gerold
N317V hat geschrieben:Offen gesagt fällt mir gerade bei Dir, Gerold, oft auf, dass Du auf eine Problemstellung gleich ein ganzes Script ablieferst.
Hi N317V!

Ich bin der Praktiker. Ich brauche Codebeispiele und wenn ich schon etwas ausprobiere bevor ich antworte, dann kann ich den Code, den ich mit ausprobieren schon produziert habe, ja auch gleich mitliefern. Das kann anderen Praktikern helfen. Ich bin kein Theoretiker. Für die abstrakten Antworten sind andere zuständig. ;-) So ergänzen wir uns gegenseitig.

mfg
Gerold
:-)