benutzer soll speichern können

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.
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

also zeile 1 definiert den neuen Befehl
Zeile 2 sagt was der Benutzer tun soll
Zeile 3 ist nimmt die Tastatur Eingabe auf
Zeile 4 speichert die Eingabe in die Liste.
Aber ich ich habe das schon geändert

Code: Alles auswählen

def listeSchreiben():
    d = open("wuerfelnMuster.txt","w")
    print "Gib dein Muster ein"
    musterEingabe = raw_input()
    musterListe.append(musterEingabe)
    d.writelines(wuerfelMuster.txt)
    d.close()
Zuletzt geändert von Hyperion am Montag 23. März 2015, 17:07, insgesamt 1-mal geändert.
Grund: Code in Python Code Tags gesetzt.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Ich bezweifle das der vorletzte Befehl so funktioniert, ist aber nur eine Kleinigkeit.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Ja stimmt, da is ein kleiner Fehler.
Achte auf die Schreibweise :wink:
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Und wo ist da der Fehler?
BlackJack

@mettalqueen: Na das der Name `wuerfelMuster` nicht definiert ist. Das sollte die Ausnahme sagen die das auslöst.
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Es ist doch eine Datei, die ganz oben geöffnet wird

ah ich habe ein n vergessen
BlackJack

@mettalqueen: Nein ist es nicht und ich frage mich gerade wie Du programmierst? Mit Stift und Papier ohne Rechner? Der Fehler fällt *sofort* auf wenn man das auch nur einmal versuchen würde auszuführen. Eben weil das so nicht läuft.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@mettalqueen: wenn Du meinst. Rate ruhig lustig weiter. Wie wärs wenn Du Dein Programm einfach mal starten würdest?
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Ich rate nicht, ich hatte wirklich ein n vergessen und sorry da ich nach bestem wissen von mir arbeite, woher soll ich selber wissen was ich falsch mache? Es steht ja nirgends, dass z.B Zeile 23 falsch ist
BlackJack

@mettalqueen: Doch das steht im Traceback wenn Du der Code an die Stelle kommt wo die Ausnahme wegen dem Fehler ausgelöst wird. Und da ist nicht einfach nur ein 'n' was vergessen wurde, sondern die Zeile ist schlicht falsch und wird zu einer Ausnahme führen weil weder `wuerfelMuster` noch `wuerfelnMuster` definiert sind. Und mir ist auch überhaupt nicht klar was Du Dir dabei gedacht hast das dort hinzuschreiben weil das nicht im entferntesten Sinn macht. Selbst wenn das eine Zeichenkette wäre macht die so an der Stelle Null Sinn. Und selbst *das* hättest Du selber merken müssen wenn Du's mal ausgeführt und dann in die Datei geschaut hättest.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Es ging um kein kleines "n"! Du schreibst da oben in ``writeLines`` "Wuerfelmuster.txt" *ohne* Anführungszeichen... Das führt beim Ausführen zwangsweise zu einem ``NameError``.

Und das hätte dir sofort auffallen müssen, wenn Du den *geposteten" Code tatsächlich einmal ausgeführt hättest ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Code: Alles auswählen

import random
random.seed()
import sys
musterListe = ["Afreeka","Well","Heartwave","Tree","Coll","Biloxy","Jasmin"]
def listeSchreiben():
    d = open("wuerfelnMuster.txt","w")
    print "Gib dein Muster ein"
    musterEingabe = raw_input()
    musterListe.append(musterEingabe)
    d.writelines(wuerfelnMuster.txt)
    d.close()
def wuerfeln():
    d = open("wuerfelnMuster.txt","r")
    wuerfelnMuster = d.readlines()
    random.shuffle(musterListe)
    print musterListe[0:3]
    d.close()
def anfangsMenue():
    eingabemenue = raw_input()
    if eingabemenue == "1":
        listeSchreiben()
    if eingabemenue == "2":
        wuerfeln()
                
print "Möchtest du ein Muster zur Datei hinzufügen 1 oder Würfeln  2"
anfangsMenue()
       
wie muss ich es denn definieren? Ich hatte es so gelesen, dass es reicht es zu öffnen und zu schreiben, existiert es nicht wird es automatisch angelegt
BlackJack

@mettalqueen: Beschreib doch mal was Zeile 10 machen soll und was die einzelnen Bestandteile des Ausdrucks bedeuten.
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Mit writelines kann ich eine Liste von Strings in die Datei schreiben

Ah ich habs verstanden, da muss nicht die Datei rein sondern die Liste
Antworten