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