hi leudes, ich mal wieder...-.- es nervt mich immer, wenn ich ne frage zu sowas hab...
also. ich arbeite an einem script, dass mir für anim8or eine datei modifiziert. da habe ich mir überlegt, ich erstelle eine variable, schreibe den code darein und schreibe die variable dann in die datei.
ALLERDINGS muss ich der datei irgedwie sagen, dass sie an bestimmten stellen eine neue zeile anfagen soll. wie mache ich ds? google hat mir auch nicht geholfen, die forensuche auch nicht.
geht das mit /n oder is das (nur) c?
greetings
Wie erstellt man einen zeilenumbruch in einer variable?
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
Was du meinst ist \n.
Aber das klingt danach, dass du dir das Tutorial mal zu Gemüte führen solltest.
Aber das klingt danach, dass du dir das Tutorial mal zu Gemüte führen solltest.
[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]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
da kriege ich folgenden fehler:
python unexpected character after line continuation character
python unexpected character after line continuation character
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
ihr werdet mich wahrscheinlich auslachen, aber das ist mein code:
WARUM FUNZT DAS NICHT???
Code: Alles auswählen
import random
i = False
curtext = ""
x = 27
y = 0
while i != True:
locx = random.randint(0, 1)
locy = random.randint(0, 1)
locz = random.randint(0, 1)
str(locx)
str(locy)
str(locz)
str(x)
curtext = curtext, ' objectelement { "eobject', x, '" "drop"', ' loc { (',locx ," ",locy , " ",locz ,')}' , " }"
x = x + 1
y = y + 1
if y == 23:
i = True
outfile = open("C:/water.an8", "w")
outfile.write(curtext)
outfile.close()
@Maximilianibus: Es wurde ja schon gesagt -- Du solltest das Tutorial mal durcharbeiten. Zeichenketten werden in Python nicht durch Kommas konkateniert. Hier wirde sich zum Beispiel Zeichenkettenformatierung mittels ``%``-Operator oder mit der `format()`-Methode anbieten.
Die ``str(irgendwas)``-Zeilen bewirken letztendlich nichts. Es werden zwar Zeichenketten erstellt, aber wenn man die nicht in einem Aufruf verwendet oder an einen Namen bindet, ist das recht witzlos.
`curtext` durch konkatenieren mit dem alten Wert plus einem neuen ist ineffizient. Idiomatische Lösung in Python ist das sammeln der Teilzeichenketten in einer Liste, die dann später mit der `join()`-Methode auf Zeichenketten zusammengefügt wird. Oder Du könntest die Liste auch mit der `writelines()`-Methode auf Dateiobjekten schreiben.
`i` ist üblicherweise in sehr vielen Programmiersprachen ein Name für ganzahlige Werte in Schleifen. Das sollte man nicht für etwas anderes verwenden wenn man den Leser nicht irritieren möchte. Wenn man die Anzahl der Schleifendurchläufe vor Eintritt in die Schleife kennt, sollte man eine ``for``-Schleife verwenden. Wobei das `y`, was auf den ersten Blick nach einem Kandidaten für die Laufvariable aussieht, ja anscheinend gar nicht weiter verwendet wird!? Da sollte man also eher das `x` für nehmen und `y` komplett weglassen.
Zum letzten Satz: Ist die Fehlermeldung nicht aussagekräftig genug? Ich hab's nicht laufenlassen, daher weiss ich jetzt nicht ganz sicher ob es bis zum `outfile.write()` kommt, aber das dürfte sich beschweren, dass `curtext` den falschen Typ hat. Was nach dem durcharbeiten des Tutorials in der Dokumentation auch klar sein sollte.
Die ``str(irgendwas)``-Zeilen bewirken letztendlich nichts. Es werden zwar Zeichenketten erstellt, aber wenn man die nicht in einem Aufruf verwendet oder an einen Namen bindet, ist das recht witzlos.
`curtext` durch konkatenieren mit dem alten Wert plus einem neuen ist ineffizient. Idiomatische Lösung in Python ist das sammeln der Teilzeichenketten in einer Liste, die dann später mit der `join()`-Methode auf Zeichenketten zusammengefügt wird. Oder Du könntest die Liste auch mit der `writelines()`-Methode auf Dateiobjekten schreiben.
`i` ist üblicherweise in sehr vielen Programmiersprachen ein Name für ganzahlige Werte in Schleifen. Das sollte man nicht für etwas anderes verwenden wenn man den Leser nicht irritieren möchte. Wenn man die Anzahl der Schleifendurchläufe vor Eintritt in die Schleife kennt, sollte man eine ``for``-Schleife verwenden. Wobei das `y`, was auf den ersten Blick nach einem Kandidaten für die Laufvariable aussieht, ja anscheinend gar nicht weiter verwendet wird!? Da sollte man also eher das `x` für nehmen und `y` komplett weglassen.
Zum letzten Satz: Ist die Fehlermeldung nicht aussagekräftig genug? Ich hab's nicht laufenlassen, daher weiss ich jetzt nicht ganz sicher ob es bis zum `outfile.write()` kommt, aber das dürfte sich beschweren, dass `curtext` den falschen Typ hat. Was nach dem durcharbeiten des Tutorials in der Dokumentation auch klar sein sollte.
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
wo wie was tutorial? galileo-computing? "programmieren macht spass"? wiki-books?
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
alsooo.... ich habe mal in der offiziellen python doku geschaut, das hilft mir alles nichts. ich kriege immer noch fehler, und der thread hat mir nich wirklich geholfen...-.-
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
also. IRGENDWIE habe ich es jetzt hinbekommen, aber aus einem mir unbekannten grund schiebt er 10 klammerns vor die output datei...
Code: Alles auswählen
import random
y = False
curtext = ""
x = 27
while y != True:
locx = random.uniform(0, 1)
locy = random.uniform(0, 1)
locz = random.uniform(0, 1)
curtext = curtext, ' objectelement { "eobject', x, '" "drop"', ' loc { (',locx ," ",locy , " ",locz ,')}'
cur2 = str(curtext)
end = " }"
outtext = [cur2, end]
x = x + 1
if x == 50:
break
outfile = open("C:/water.an8", "w")
outfile.writelines(outtext)
outfile.close()
-
- User
- Beiträge: 43
- Registriert: Samstag 13. Februar 2010, 18:14
- Wohnort: Sauerbratenserver
mein letzter post: wie entferne ich die " ' "? zb tex1 = 'bla', dann steht in der datei acuh 'bla'. wie ändert man das? ach ja, ich benutze keine " " ", weil die in der datei vorkommen!
Jetzt ist vielleicht doch ein guter Zeitpunkt um dich Auszulachen . Lese dir BlackJacks Antwort durch, dann weißt du auch was du falsch gemacht hast. Das es dir nicht hilft dir das Tutorial mal anzuschauen ist klar. Du musst es natürlich auch durcharbeiten und verstehen.Maximilianibus hat geschrieben:also. IRGENDWIE habe ich es jetzt hinbekommen, aber aus einem mir unbekannten grund schiebt er 10 klammerns vor die output datei...
Grüße
Gerrit
PS: Mit Doppelposts hat hier eigentlich keiner ein Problem. Aber vier Posts hintereinander ist dann doch etwas übertrieben.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Wenn wir von Tutorial reden, meinen wir normalerweise das Tutorial der offiziellen Python-Dokumentation (von welchem es auch eine deutsche Uebersetzung gibt). Ist uebrigens der erste Hit bei Google mit "python tutorial".
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Wir würden dir gerne helfen. Dir fehlen allerdings offensichtlich entscheidende Grundlagen. Bitte arbeite das Tutorial durch (Rebecca hat einen Link dorthin aufgezeigt). Dann können wir Tipps geben die auch verstanden werden.Maximilianibus hat geschrieben:mein letzter post: wie entferne ich die " ' "? zb tex1 = 'bla', dann steht in der datei acuh 'bla'. wie ändert man das? ach ja, ich benutze keine " " ", weil die in der datei vorkommen!