[Code] Frage zu Python

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Frontyi, 9. Juli 2010 .

Schlagworte:
  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?
     
  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
     
  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.
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.