Listenlement fortlaufend zählen

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.
Antworten
haeuslermartin
User
Beiträge: 66
Registriert: Sonntag 21. April 2013, 10:12

hallo lieber kbr,

bin mit Grippe flachgelegen, deswegen die Verzögerung, Dein code
rechnet noch nicht die richtigen Ergebnisse aus:

Code: Alles auswählen

c= [3,4,2,5,2,6,7,5,2,9]

counter = 0
percentage = 0
 
for n, item in enumerate(c, start=1):
    if item == 2:
        counter += 1
        percentage = counter / n
    print(n, '{0:.2%}'.format(percentage))
output:

1 0.00% richtig
2 0.00% richtig
3 33.33% richtig 1/3 = 0,33
4 33.33% falsch 1/4 = 0,25 !!!
5 40.00% richtig 2/5 = 0,40
6 40.00% falsch 2/6 = 0,33 !!!
7 40.00% falsch 2/7 = 0,29 !!!
8 40.00% falsch 2/8 = 0,25 !!!
9 33.33% richtig 3/9 = 0,33
10 33.33% falsch 3/10 = 0,30 !!!

wenn sich n erhöht, "counter item" aber gleich bleibt, nimmt der prozentuale Anteil wieder ab
http://www.python-forum.de/posting.php? ... =1&t=35886#
Zuletzt geändert von Anonymous am Mittwoch 25. März 2015, 15:23, insgesamt 1-mal geändert.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@haeuslermartin: wenn Du kbrs Programm verstanden hast, sollte es ganz einfach sein, den Fehler zu korrigieren
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

haeuslermartin hat geschrieben:wenn sich n erhöht, "counter item" aber gleich bleibt, nimmt der prozentuale Anteil wieder ab
Tja, da sind dem Fall von n syntaktisch relevanten Leerzeichen wohl knapp 17% zuviel in den Code geraten ...
Antworten