Sirius3 hat geschrieben: ↑Sonntag 31. Juli 2022, 19:24
@Pitwheazle: da fehlen etliche Anführungszeichen und sonstige Zeichen, damit das gültiges svg wird.
Ich habe festgestellt, dass es (zumindest bei mir) egal ist, ob ich die Anführungszeichen mache oder nicht. OK, ich werde sie ergänzen.
Sirius3 hat geschrieben: ↑Sonntag 31. Juli 2022, 19:24
`txt` als Abkürzunge für Text geht ja noch, aber was ist `tyt`?
Nu ja, txt ist der Text an der x-Achse und tyt der an der y-Achse. Stört das wirklich sehr? Ich fand es originell.
noisefloor hat geschrieben: ↑Sonntag 31. Juli 2022, 19:31
@Pitwheazle: was du halt immer im Hinterkopf behalten solltest: Template Engines wie die von Django oder Jinja2 sind _universell_ einsetzbar. Auch, wenn man damit bei Webanwendungen i.d.R. HTML generiert ist die Engine nicht darauf beschränkt. Grundsätzlich geht alles, was text-basiert ist und wo der Einsatz eine Template Engine Sinn macht. Du kannst damit also auch Textdateien, Markdown Dateien, SVG-Dateien etc generieren.
Ehrlich gesagt, fühle ich mich immer noch als totalen Anfänger und weiß nicht so recht, was ich mit diesem Tipp machen kann.
Ich hatte ja darauf hingewiesen, dass mein Koordinatensystem noch nicht fertig ist. Zwischenzeitlich gibt es zwei Versionen:
für die Älteren
Anmerkung: Hier würde ich gerne noch, ohne viel Aufwand, die Nullen am Ursprung loswerden.
und für die Jüngeren sieht es so aus:
Der Code sieht jetzt so aus:
Code: Alles auswählen
titel = "Koordinatensystem"
text = "Wie lauten die Koordinaten des Punktes?"
koo = {'name': 'svg/koosys.svg'}
if stufe<18:
typ2 = 1
else:
typ2 =2
if typ2 ==1: #nur 1.Quadrant
for n in range(1,3):
koo_x = {f"x{n+1}": f"{n*100+22}", f"txt{n+1}": f"{n*10}"}
koo.update(koo_x)
for n in range(1,3):
koo_y = {f"y{n+1}": f"{n*100-45}", f"tyt{n+1}": f"{(3-n)*10}"}
koo.update(koo_y)
x_koo = random.randint(0,27)
y_koo = random.randint(0,26)
lsg = ["({0};{1})".format(x_koo, y_koo)]
grafik = {'hoehe' : 320, 'breite' : 350, 'x_achse': 280, 'y_achse': 30, 'x_start': 40, 'y_start': 30, 'x_koo': x_koo*10 + 30, 'y_koo': 280-(y_koo*10)}
else:
for n in range(0,6):
koo_n = {f"x{n+1}": f"{n*100+26}", f"txt{n+1}": f"{n-1}", f"y{n+1}": f"{n*100+54}", f"tyt{n+1}": f"{2-n}"}
koo.update(koo_n)
x_koo = random.randint(-12,28)
y_koo = random.randint(-15,26)
lsg = ["({0};{1})".format(x_koo/10, y_koo/10).replace(".", ",")]
grafik = {'hoehe' : 450, 'breite' : 450, 'x_achse': 280, 'y_achse': 130, 'x_start': 0, 'y_start': 0, 'x_koo': x_koo*10 + 130, 'y_koo': 280-(y_koo*10)}
grafik.update(koo)
Ich bin ganz stolz, dass das so funktioniert. Macht es wirklich Sinn, das jetzt nach @Sirius3s Vorschlag abzuändern? Ich sehe den Vorteil noch nicht.