Seite 1 von 1
Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Sonntag 3. Oktober 2010, 22:45
von Maximilianibus
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
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Sonntag 3. Oktober 2010, 22:47
von jbs
Was du meinst ist \n.
Aber das klingt danach, dass du dir das Tutorial mal zu Gemüte führen solltest.
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Sonntag 3. Oktober 2010, 23:00
von Maximilianibus
da kriege ich folgenden fehler:
python unexpected character after line continuation character
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Sonntag 3. Oktober 2010, 23:05
von Maximilianibus
ihr werdet mich wahrscheinlich auslachen, aber das ist mein code:
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()
WARUM FUNZT DAS NICHT???
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 00:54
von BlackJack
@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.
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 01:27
von Maximilianibus
wo wie was tutorial? galileo-computing? "programmieren macht spass"? wiki-books?
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 01:48
von Maximilianibus
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...-.-
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 01:55
von Maximilianibus
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()
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 02:22
von Maximilianibus
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!
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 03:04
von gkuhl
Maximilianibus hat geschrieben:also. IRGENDWIE habe ich es jetzt hinbekommen, aber aus einem mir unbekannten grund schiebt er 10 klammerns vor die output datei...
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.
Grüße
Gerrit
PS: Mit Doppelposts hat hier eigentlich keiner ein Problem. Aber vier Posts hintereinander ist dann doch etwas übertrieben.
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 09:10
von Rebecca
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".
Re: Wie erstellt man einen zeilenumbruch in einer variable?
Verfasst: Montag 4. Oktober 2010, 09:12
von /me
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!
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.