#1 9. Juli 2010 Frage zu Python Hallo Raid-Rush, aufgrund meines Studiums muss ich mich unter anderem dieses Semester mit Python rumschlagen. Zum Glück nur die absoluten Basics - aber das ist schon zu viel für mich. Also es ist eine Tabelle gegeben, welche sich in Code: Umfrage = [[6,43,47,12,2,1],[2,33,12,5,1,0],[1,13,7,4,2,0]] widerspiegelt. Aufgabe: Schreiben Sie ein Python-Programm, welches mit Hilfe einer oder mehrerer Schleifen die Gesamtdurchschnittsnote für alle Tutorien berechnet und am Bildschirm ausgibt. Es soll also nur eine einzige Zahl, nämlich die durchschnittliche Note aller Tutorien, berechnet uns ausgegeben werden. Lösung: Code: c = 0 summe = 0 for i in range (3): for j in range (6): c = c + umfrage [i][j] * (j+1) summe = summe + umfrage [i][j] print c / summe Mein Problem ist nun folgendes: Ich versteh den Prorgramcode nicht genau. Am Anfang wird c sowie die summe = 0 definiert und über zwei for Schleifen wird i sprich die drei Zahlenblöcke und j (pro Block 6 Zahlen) ausgelesen. Nun erfolgt die Rechnung und das ist mir nicht ganz klar, wie man da vorgehen muss. Im Prinzip müsste das Programm ja 6xNote 1+43x Note 2 ... rechnen aber wie geschiet das mit dem range Befehl? Kann mir jemand bitte diesen Code erklären? + Multi-Zitat Zitieren
#2 10. Juli 2010 AW: Frage zu Python 1. Mit Python rumschalgen? Python ist imho die coolste Scriptsprache die es gibt (so einfach und doch so mächtig) 2. der range Befehl: for i in range(3) --> erzeugt eine schleife von 0-2 (3 Zahlen) So auch bei range(6) --> 0-5 Mit umfrage greift man auf die 1., 2. oder 3. List (Tutorium) der umfrage zu (je nach dem Wert von i). Mit umfrage[j] greift man auf die j. Notenanzahl der i. Liste (Tutorium) zu. Beispiel: umfrage[1][3] -> 5 (2. Tutorium, 4. Notenananzahl) Wichtig: Die Indizierung bei Listen fängt immer bei 0 an. So ist c also die Summe aus jeder Note multipliziert mit der Anzahl der Note, wie du schon richtig geschrieben hast. umfrage[j]: jeweilige Notenanzahl multipliziert mit der jeweiligen Note. Wenn man es mit j multiplizieren würde, dann würde es nicht stimmen, da die Indizierung ja bei 0 anfängt. Also hätte man bei der ersten Liste schon 6 * die Note 0... das geht nicht, also j+1! Die Summe ist die Anzahl aller Noten und wie man den Durchschnitt ausrechnet weißt du ja sicherlich greez + Multi-Zitat Zitieren
#3 10. Juli 2010 AW: Frage zu Python Ich bedanke mich! Das herumschlagen bezieht sich darauf, dass es rein gar nichts bringt, dass ich Python lerne. Ich werde niemals diese Sprache anwenden, da ich eh nur zwei Schleifen und sowie den Range Befehlt gezeigt bekommen habe. Es ist total Sinnfrei und das nervt mich gewaltig. + Multi-Zitat Zitieren