Aufsummierung durch verschachtelte Schleife

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.
karo
User
Beiträge: 3
Registriert: Dienstag 10. April 2007, 11:57

Aufsummierung durch verschachtelte Schleife

Beitragvon karo » Dienstag 10. April 2007, 23:02

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
karo
User
Beiträge: 3
Registriert: Dienstag 10. April 2007, 11:57

Beitragvon karo » Dienstag 10. April 2007, 23:05

^^hmmm, eigentlich waren da jetzt auch einrückungen aber die sind jetzt leider nicht mehr da
..ahh, jetzt..
BlackJack

Beitragvon BlackJack » Dienstag 10. April 2007, 23:11

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.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Beitragvon Mad-Marty » Mittwoch 11. April 2007, 10:17

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
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Beitragvon N317V » Mittwoch 11. April 2007, 13:42

Fertige Lösungen sind immer tolle Hilfen. Da kommt dann auch keiner auf die Idee, dass man hier alles vorgekaut bekommt.

SCNR :-/
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Mittwoch 11. April 2007, 14:39

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
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Beitragvon N317V » Mittwoch 11. April 2007, 14:42

Ansichtssache: Du nennst es Kleinigkeiten, ich würde es eher als Grundlagen bezeichnen.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Beitragvon Andy » Mittwoch 11. April 2007, 14:49

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:
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Beitragvon N317V » Mittwoch 11. April 2007, 15:06

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.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Mittwoch 11. April 2007, 15:40

Gut, dann hat ja nun jeder seine Meinung dargelegt... außer der Threadschreiberin vielleicht.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 11. April 2007, 18:28

Hi N317V!

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

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

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 11. April 2007, 19:01

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)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 11. April 2007, 20:45

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
karo
User
Beiträge: 3
Registriert: Dienstag 10. April 2007, 11:57

Beitragvon karo » Mittwoch 11. April 2007, 21:08

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
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Beitragvon N317V » Donnerstag 12. April 2007, 10:18

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.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider]