Hilfe bei Projekt - kleines Additionsprogramm mit Einlesen v
Verfasst: Samstag 24. Januar 2009, 22:34
Hallo zusammen,
Mein Vorhaben besteht darin, eine kleine Auswertung einer Textdatei zu machen. Diese trägt den einfallsreichen Namen list.txt
Aus ihr soll folgendes entnommen werden können,
- Name des Angreifers (linke Seite zweite Zeile)
- Name des Verteidigers (rechte Seite zweite Zeile)
- Erbeutetes Silber (Gewinner, erste zeile, kann linke oder rechte Seite von Zeile 2 sein)
- EP (linke Seite)
- EP (rechte Seite)
- Summierung aller oben angeführten Punkte sowie deren Zuordnung zu den Namen
Die Auflistung erfolgt immer im selben Schema und wird vom System in oben genannter Textdatei folgendermaßen abgespeichert:
Bisher habe ich folgendes beisammen:
Jetzt meine Frage, kann mir jemand den fehlenden Code sagen, ich habe leider nur sehr sehr sehr geringe Kenntnisse im Programmieren, und diese auch nur aus diversen Tutorials.
Ich bin Euch jetzt schon sehr dankbar.
mfg
Mein Vorhaben besteht darin, eine kleine Auswertung einer Textdatei zu machen. Diese trägt den einfallsreichen Namen list.txt
Aus ihr soll folgendes entnommen werden können,
- Name des Angreifers (linke Seite zweite Zeile)
- Name des Verteidigers (rechte Seite zweite Zeile)
- Erbeutetes Silber (Gewinner, erste zeile, kann linke oder rechte Seite von Zeile 2 sein)
- EP (linke Seite)
- EP (rechte Seite)
- Summierung aller oben angeführten Punkte sowie deren Zuordnung zu den Namen
Die Auflistung erfolgt immer im selben Schema und wird vom System in oben genannter Textdatei folgendermaßen abgespeichert:
Code: Alles auswählen
Sir Tacafriskus gewinnt und erbeutet 5 Silbertaler
Sir Tacafriskus erhält 2 EP und Latte erhält 0 EP.
Schaden - Angreifer: 159 / Schaden - Verteidiger: 0
Odysseus gewinnt und erbeutet 27 Silbertaler
Odysseus erhält -3 EP und Sir Tacafriskus erhält 1 EP.
Schaden - Angreifer: 368 / Schaden - Verteidiger: 0
Sir Tacafriskus gewinnt und erbeutet 5 Silbertaler
Sir Tacafriskus erhält 2 EP und Sir O Ropax erhält 0 EP.
Schaden - Angreifer: 511.6 / Schaden - Verteidiger: 0
Sir Tacafriskus gewinnt und erbeutet 8 Silbertaler
Sir Tacafriskus erhält 1 EP und Caradoc erhält 1 EP.
Schaden - Angreifer: 765 / Schaden - Verteidiger: 19.8
Sir Tacafriskus gewinnt und erbeutet 1 Silbertaler
Sir Tacafriskus erhält 3 EP und Bundschuh erhält 0 EP.
Schaden - Angreifer: 668 / Schaden - Verteidiger: 195
Code: Alles auswählen
# -*- coding: cp1252 -*-
import re
silbertaler = "Ritter2 gewinnt und erbeutet 8 Silbertaler"
ep = "Ritter1 erhält 3 EP und Ritter2 erhält 0 EP."
schaden = "Schaden - Angreifer: 61.3 / Schaden - Verteidiger: 267.6"
searchSilbertaler = re.search(r"(.*) gewinnt und erbeutet (.*) Silbertaler", silbertaler, re.I)
searchEp = re.search(r"(.*) erhält (.*) EP und (.*) erhält (.*) EP.", ep, re.I)
searchSchaden = re.search(r"Schaden - Angreifer: (.*) / Schaden - Verteidiger: (.*)", schaden, re.I)
silbertalerGewinner = searchSilbertaler.group(2)
nameSpielerEins = searchEp.group(1)
nameSpielerZwei = searchEp.group(3)
gewinner = searchSilbertaler.group(1)
if gewinner == nameSpielerEins:
verlierer = nameSpielerZwei
else:
verlierer = nameSpielerEins
epSpielerEins = searchEp.group(2)
epSpielerZwei = searchEp.group(4)
schadenSpielerEins = searchSchaden.group(1)
schadenSpielerZwei = searchSchaden.group(2)
print "Gewinner:", gewinner
print "Verlierer:", verlierer
print ""
print gewinner, "bekommt", silbertalerGewinner, "Silbertaler"
print ""
print nameSpielerEins, "bekommt", epSpielerEins, "EP"
print nameSpielerZwei, "bekommt", epSpielerZwei, "EP"
print ""
print "Schaden Ritter1:", schadenSpielerEins
print "Schaden Ritter2:", schadenSpielerZwei
Ich bin Euch jetzt schon sehr dankbar.
mfg