2016-10-07 3 views
1

Ich importiere Daten aus einer Datei, die korrekt funktioniert. Ich habe die Daten aus dieser Datei in 3 verschiedene Listen, name, mark, mark2 angefügt, obwohl ich nicht verstehe, wie oder ob ich eine neue Liste namens total_marks erstellen und eine Berechnung anhängen Mark + mark2 in total_marks hinzufügen kann. Ich habe versucht, nach Hilfe zu suchen und konnte nicht viel dazu finden. Der Plan ist, um tatsächlich die beiden Listen zusammen fügen und einen Prozentsatz auszuarbeiten, die die Gesamtnote würde 150.Python Hinzufügen von Listen

+0

Bitte zeigen Sie den Code, den Sie haben, die relevant für die Frage ist, die Sie fragen. –

+0

Zeigen Sie eine Beispieleingabe und eine Beispielausgabe an. Außerdem: Ich empfehle dringend, wenn Sie erst einmal die Grundlagen gelernt haben, dass Sie sich dann die Zeit nehmen, zwei Bibliotheken zu lernen: Pandas und xlwings. Dies wird Ihnen die Interaktion zwischen Python und Excel erheblich erleichtern. –

Antwort

2

Um den beiden Listen Punkt für Punkt hinzufügen:

combined = [] 
for m1, m2 in zip(mark, mark2): 
    combined.append(m1+m2) 

Die Zip-Funktion gibt ein Element Paar aus den beiden Listen für jedes Paar in den Listen .:

https://docs.python.org/3/library/functions.html#zip

Dann können Sie die letzte Operation auf diese Weise durchführen:

final = [] 
for m in combined: 
    final.append(m/150*100) 

Wie ich in meinem Kommentar gesagt habe, empfehle ich Ihnen, sobald Sie die Grundlagen gelernt haben, dass Sie sich dann die Zeit nehmen, zwei Bibliotheken zu lernen: Pandas und xlwings. Dies wird Ihnen die Interaktion zwischen Python und Excel erheblich erleichtern. Eine Operation wie Sie hier haben, wird viel einfacher, wenn Sie Pandas Datenframes lernen.

+0

Arbeiten jetzt, danke – 1230

0

Hier ist ein besserer Weg, mit Pandas.

import pandas 

df = pandas.read_csv('Classmarks.csv', index_col = 'student_name', names = ('student_name', 'mark1', 'mark2'), header = None) 

df['combined'] = df['mark1'] + df['mark2'] 
df['final'] = df['combined']/150 * 100 

print(df) 

Sie müssen keine Schleifen mit Pandas machen. Und Sie können dann schreiben Sie es zurück in eine CSV-Datei:

df.to_csv('Classmarksout.csv') 
+0

Sagt 'kein Modul namens Pandas' – 1230

+0

Muss installiert werden. 'pip install pandas' von der Kommandozeile sollte es tun. –