Dicts. File.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

@Shuang: Zeige uns doch bitte deinen Code und sag uns dann wo genau es hängt. In diesem Forum wird dir keiner eine Komplettlösung posten. Sonst können wir auch gleich mit deinem Kumpel in Kontakt treten und mit ihm an seinem Spiel arbeiten. Du wärst dann natürlich raus aus dem Team.
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

Das Problem habe ich mehrmals geschildert :)

Datei 1
Datei 2

Date3 = Datei 1(werte) - Datei 2(werte)

Im Grunde ist das alles. :shock:
BlackJack

@shuang: Das zu generelle zu lösende Problem haben wir mittlerweile verstanden. Die Frage war nach den *konkreten* Problemen mit *Deinem* Quelltext und wie der aussieht.

Oder halt was Du gegen bessere Alternativen hast. Wenn das keine Hausaufgabe ist, dann steht auch das Datenformat zur Debatte.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

shuang hat geschrieben:Das Problem habe ich mehrmals geschildert :)

Datei 1
Datei 2

Date3 = Datei 1(werte) - Datei 2(werte)

Im Grunde ist das alles. :shock:
Um das so umzusetzen, könntest Du Du die Klasse 'file' ableiten und `__sub__()` implementieren :)

Code: Alles auswählen

class MyFile(file):
    def __sub__(self, other):
        # hier passiert die Magie der "Dateisubtraktion"
        return neues_dateiobjekt # Datei3
Warum ignorierst Du die Hinweise der anderen, das Datenformat zu ändern, wenn Du doch eigentlich dazu in der Lage wärst? (Hausaufgabe noch nicht fertig? :twisted: ) Das empfiehlt Dir keiner, um Dich zu ärgern, sondern weil es gute Gründe dafür gibt.

Achtung, die obige Sache mit der Dateisubtraktion ist nur Spass
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

Im Grunde brauche ich den Code von Gkuhl , dass leider nur als Fortran Code existiert. Sein Ergebnis steht auf Seite 3. 8)
BlackJack

@shuang: Im Grunde müsstest *Du* das dann einfach mal schreiben was Du brauchst. Es sieht nicht so aus als würde das jemand anderes für Dich machen. Zumindest nicht in Python. :-)
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

*lol*
Alle antworten die ich erhalten habe, sagen aus, dass es so leicht sei :)
Doch keiner kann es so schnell lösen :).

Ich möchte sehen wie sich eie Wert aus einer Datei 1 durch das Wert in einer 2ten Datei verändert werden kann.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

shuang hat geschrieben:*lol*
Alle antworten die ich erhalten habe, sagen aus, dass es so leicht sei :)
Doch keiner kann es so schnell lösen :).
Und wie kommst du darauf, dass wir dein Problem loesen muessten nur weil es leicht ist?
BlackJack

@shuang: Ich hab's schon längst gelöst. Bevor ich's in Io angegangen bin. War wirklich ganz leicht und schnell implementiert.
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

Versteh ich grad nicht? Wieso seh ich dann dein Lösungsweg nicht @ Blackjack :)?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

shuang hat geschrieben:Versteh ich grad nicht? Wieso seh ich dann dein Lösungsweg nicht @ Blackjack :)?
Na weil das deine Aufgabe ist, nicht unsere. Netter Versuch eine fertige Lösung zu erbetteln, aber darauf fällt nach vier Seiten Thread keiner mehr rein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

weil du es selber versuchen sollst

verdammt zu spät
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

Wieso erbetteln?
Ich komm mit der Problematik nicht klar :)
Wenn ihr die Lösung verstecken wollt. Na Bitte. Viel Spass.
Ich kann eben nocht nicht so toll programmieren.


:K :K :K :K :K
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Bisher hast du einfach nur das Problem code los beschriebene.
bla1.txt hat geschrieben:Name: Peter
Figur: Bettler 4
Name: Guenther
Figur: Truil 10
Name: Clark
Figur: Brotlexa 38
bla2.txt hat geschrieben:Bettler 2
Truil 3
Brotlexa 8

Code: Alles auswählen

with open("bla1.txt") as f:
    for line in f:
        if line.startswith("Figur:"):
            figur1, zahl1 = line.split()[1:]
            handle = open("bla2.txt")
            for line2 in handle:
                figur2, zahl2 = line2.split()
                if figur1 == figur2:
                    zahl1 =  int(zahl1) - int(zahl2)
            handle.close()
            print "Figur: {0} {1}".format(figur1, zahl1)
        else:
            name = line.split()[1]
            print "Name: {0}".format(name)
Ich habe zwar keine Ahnung was das soll, und es gibt sicher 20bessere Lösungen für das Problem, aber du kannst es ja einfach übernehmen und gut ist, bei deiner nächsten Frage, zeigst du dann mehr Eigeninitiative ok? :-D
BlackJack

@Sr4l: Davon träumst aber wohl nur dass das jetzt den OP zur Eigeninitiative motivieren wird.

@shuang: Es ist ja kein Problem nicht so toll programmieren zu können. Es zwingt Dich ja auch keiner dazu. Aber wenn Du es lernen möchtest, dann musst Du halt auch etwas dafür tun. Und immer wider stur die Aufgabenstellung wiederholen ist eben betteln nach einer fertigen Lösung.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

shuang hat geschrieben:Ich kann eben nocht nicht so toll programmieren.
Nein, du kannst schlicht und ergreifend gar nicht programmieren. Daran wird sich aber nichts ändern, wenn du nicht etwas Eigeninitiative zeigst.
Benutzeravatar
shuang
User
Beiträge: 45
Registriert: Montag 5. April 2010, 14:30

Funktioniert immernoch nicht

Ergebnis:

Name: 20
Name: 30
Name: 30
Name: 5
Name: 10
Name: 10
Name: 75
Name: 10
Name: 10
Name: 30

????
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Dann poste doch mal deinen code, so lang kann er ja nicht sein, nund schreib in die Kommentare was das script an der jeweiligen Stelle tut.
Sowas ist manchmal sehr effektiv um einen Fehler zu finden.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Günstig ist auch, sich auf einem Papier mal aufzuschreiben, welche Objekte ("Variablen") gerade existieren und welchen Inhalt sie haben. Quasi ein Debugging.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich würde gerne noch einmal auf mein eines Posting verweisen:
http://www.python-forum.de/post-166890.html#166890

Dort gibt es doch eine Lösung (noch nicht für die "Berechnungen", aber fürs Parsen in eine Datenstruktur, mit der man dann in Python weiterarbeiten kann).

Ich kapiere immer noch nicht, wieso Du nicht einfach das Problem des Parsens in die Tonne wirfst, indem Du auf Standard-Formate setzt! Damit bliebe dann nämlich nur noch das Problem des Verrechnens von verschiedenen Daten.

Aber genau letzteres scheint doch das "spannende" zu sein...
Antworten