Python Anfänger. Wie präsentiere ich Daten aus einer Datei und berechne Gesamt/Durchschnitt für jede Person? Wie füge ich den Wert einer Variablen außerhalb von für in jeder Iteration hinzu, und wenn die Iteration vorbei ist, dividiere sie durch die Anzahl der Datensätze?Durchschnitt und Summe aus Datei berechnen
Die Daten in der Datei ändert, da kann der Benutzer Daten hinzufügen und löschen, aber die Daten wie folgt strukturiert:
PersonA;342;454;559;
PersonB;444;100;545;
PersonC;332;567;491;
PersonD;142;612;666;
Ich will vorhanden es wie folgt aus:
PersonA 342 454 559 TOTAL AVERAGE
PersonB 444 100 545 TOTAL AVERAGE
PersonC 332 567 491 TOTAL AVERAGE
PersonD 142 612 666 TOTAL AVERAGE
Was kann Ich schreibe danach, um es richtig zu machen?
def show_result():
text_file = open('result.txt', 'r')
for line in text_file:
if ';' in line:
line2 = line.split(";")
print line2
?
with open("input.txt") as f:
for line in f:
s = """PersonA;342;454;559;
PersonB;444;100;545;
PersonC;332;567;491;
PersonD;142;612;666;"""
for line in s.split("\n"):
p, a, b, c, _ = line.strip().split(";")
print("{}\t{}\t{}\t{}\t{}\t{}".format(p, a, b, c,
sum([int(a), int(b), int(c)]),
sum([int(a), int(b), int(c)])/3))
Lösung:
def show_result():
text_file = open('minigolf.txt', 'r')
print "Name,Round1,Round2,Round3"
for line in text_file:
if ';' in line:
line2 = line.split(";")[:-1]
print line2
line_total = sum(map(int, line2[1:]))
line_average = line_total/len(line2[1:])
print "Total: ", line_total
print "Average: ", line_average
Wie werden insgesamt und durchschnittlich für jede Person berechnet? Meinst du den Gesamt/Durchschnitt der Spalten 2, 3 und 4? –