Code: Alles auswählen
In [8]: with open('bla.txt', 'r') as fobj:
content = fobj.read()
...:
...:
In [10]: print content
Name: Peter
Figur: Bettler 4
Name: Guenther
Figur: Truil 10
Code: Alles auswählen
In [8]: with open('bla.txt', 'r') as fobj:
content = fobj.read()
...:
...:
In [10]: print content
Name: Peter
Figur: Bettler 4
Name: Guenther
Figur: Truil 10
Code: Alles auswählen
{ "Name" : "Peter",
"Figur" : "Bettler",
"Level" : 4
}
Code: Alles auswählen
Peter Bettler 4
Guenther Truil 10
Code: Alles auswählen
Bettler 2
Truil 3
Code: Alles auswählen
HELDEN:
Peter Bettler 4
Guenther Truil 10
AKTIONEN:
Alle Bettler verringert um 2.
Alle Truil verringert um 3.
HELDEN (nach Aktionen)
Peter Bettler 2
Guenther Truil 7
Ist denn jetzt wieder Puzzlezeit, wo wir Lösungen in Scala, OCaml, Scheme, Factor und Haskell posten?gkuhl hat geschrieben:Hab jetzt mal ein kleines Programm in Fortran geschrieben.
Code: Alles auswählen
#!/usr/bin/env io
toSubtract := Map clone
File clone openForReading("test2.txt") do(
foreachLine(line,
parts := line split
toSubtract atPut(parts first, parts last asNumber)
)
close
)
File clone openForReading("test.txt") do(
foreachLine(line,
(line findSeq("Figur:") == 0) ifTrue(
parts := line split
name := parts at(1)
value := parts at(2) asNumber
line = parts atPut(2, value - toSubtract at(name)) join(" ")
)
line println
)
close
)
Zum Programmieren gehört auch, dass man schlechte Entwürfe überdenkt und ggf. wegwirft! Nur weil Dein Kumpel keine Kenntniss von sinnvollen Standard Formaten hat, bedeutet das ja nicht, dass man sich an solchen Problemen festbeißen muss.shuang hat geschrieben:Von meinem Kumpel ist es vorgegeben, weil wir ein Spiel spielen und das Spiel programmieren wollen. Er wollte das so, also mach ich es so
Ist sie nicht. Man kann das auch recht einfach so parsen - aber wozu?Wieso eigl, ist die Problematik so sehr komplex?
So:Wie kann man die Aufgabe in 4Min lösen ??
Um das so umzusetzen, könntest Du Du die Klasse 'file' ableiten und `__sub__()` implementierenshuang hat geschrieben:Das Problem habe ich mehrmals geschildert
Datei 1
Datei 2
Date3 = Datei 1(werte) - Datei 2(werte)
Im Grunde ist das alles.
Code: Alles auswählen
class MyFile(file):
def __sub__(self, other):
# hier passiert die Magie der "Dateisubtraktion"
return neues_dateiobjekt # Datei3