Hallo Leute!
bin noch neu in der Programmierwelt, aber ich versuche dennoch mal mein Problem zu schildern:
habe mir das Buch "Programmieren von Kopf bis Fuß" gekauft vom O'Reilly Verlag.
Jetzt ist hier ein Quellcode der nicht so ganz funktionieren will:
punktzahlen = {}
ergebnis_dh = open("ergebnisse.txt")
for zeile in ergebnis_dh:
(name, punkte) = zeile.split()
punktzahlen[punkte] = name
ergebnis_dh.close()
print ("Die höchste Punktzahlen waren: ")
for punkte in punktzahlen.keys():
print('surfer ' + punktzahlen[punkte] + 'hatte ' + punkte + ' Punkte')
Die Datei ergebnisse.txt ist im selben Ordner wie die Python-Datei abgespeichert und hat folgenden Inhalt:
Johnny 8.65
Juan 9.12
Joseph 8.45
Stacey 7.81
Aideen 8.05
Zack 7.21
Aaron 8.31
Die Fehlermeldung lautet:
Traceback (most recent call last):
File "C:\Users\Public\Documents\Informatik\python\punktzahlen_abbildung.py", line 4, in <module>
(name, punkte) = zeile.split()
ValueError: too many values to unpack
Hoffe ihr könnt mir weiterhelfen!mfg!
mcbanana
Quellcode-Problem
Willkommen im Forum!
Künftig bitte Code in Code-Tags (Python) setzen, dann liest es sich besser und die Einrückungen sind erkennbar.
Die Fehlermeldung besagt, dass es mind. eine Zeile in der Datei gibt, die nicht so aussieht, wie beschrieben. Dafür könnte es schon genügen, wenn z.B. statt "7.65" "7. 65" da steht.
Künftig bitte Code in Code-Tags (Python) setzen, dann liest es sich besser und die Einrückungen sind erkennbar.
Die Fehlermeldung besagt, dass es mind. eine Zeile in der Datei gibt, die nicht so aussieht, wie beschrieben. Dafür könnte es schon genügen, wenn z.B. statt "7.65" "7. 65" da steht.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Nochmal genauer zur Fehlermeldung: erwartet, dass zeile.split() genau zwei Teile zurueckliefert; bei dir kommen aber mehr heraus, deswegen funktioniert das (name, punkte) = eben nicht. ("Too many values"). Lass dir vorher mal zeile oder zeile.split() ausgeben, dann siehst du das Problem.
Code: Alles auswählen
(name, punkte) = zeile.split()
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Vielen Dank für die Hilfe:) hab es hinbekommen!
Hab die Textdatei in ein ordentliches Format gerückt, sodass alle Ergebnisse untereinander stehen.
Die höchsten Punktzahlen waren:
Surfer Joseph hatte 8.45 Punkte
Surfer Juan hatte 9.12 Punkte
Surfer Zack hatte 7.21 Punkte
Surfer Aaron hatte 8.31 Punkte
Surfer Aideen hatte 8.05 Punkte
Surfer Johnny hatte 8.65 Punkte
Surfer Stacey hatte 7.81 Punkte
Jetzt kann ich mich mit vollem Elan den nächsten Aufgaben widmen;)
Hab die Textdatei in ein ordentliches Format gerückt, sodass alle Ergebnisse untereinander stehen.
Die höchsten Punktzahlen waren:
Surfer Joseph hatte 8.45 Punkte
Surfer Juan hatte 9.12 Punkte
Surfer Zack hatte 7.21 Punkte
Surfer Aaron hatte 8.31 Punkte
Surfer Aideen hatte 8.05 Punkte
Surfer Johnny hatte 8.65 Punkte
Surfer Stacey hatte 7.81 Punkte
Jetzt kann ich mich mit vollem Elan den nächsten Aufgaben widmen;)