Moin moin,
ich möchte ein Programm basteln, dass mir hilft eine Formel für einen Flächeninhalt aufzustellen. Dazu wäre es nötig, dass ich einen Befehl finde, der mir ausgibt, wie viele Felder in meinem Turtlefenster eine bestimmte Farbe haben. Ich hatte schon überlegt eine Art Datenbank anzulegen, wo jeder Pixel, der umgefärbt worden ist mit Koordinaten abgespeichert wird, doch das erscheint mir unnötig komplex. Ich kenne Python nur aus dem Informatikunterricht, und da ist das komplexeste was wir lernen die for-Schleife. Ich hatte mich privat schon mit der canvas und tkinter beschäftigt, doch hab ich das nie vollständig durchdrungen. Gibt es da einen einfachen Befehl?
Lg Alex
Turtle Modul
Nicht daß ich wüßte. Canvas versieht allerdings jedes Objekt mit einer ID, und man kann auch Tags setzen. Ist die Frage, ob Du Lust und Zeit hast, das (und Python im allgemeinen) näher kennenzulernen.
@titus2000: Tkinter-Canvas ist dafür vielleicht nicht so geeignet, denn das ist Vektorgrafik. Wenn Du Pixel zählen willst, ist eine Pixelgrafik wahrscheinlich besser geeignet. Zum Beispiel die Python Imaging Library (`PIL`). Eventuell in Verbindung mit `numpy` um das Zählen zu beschleunigen.
Flächeninhalt -> Wikipedia, dort findest du die Formeln.
Ich hätte jetzt turtle höchtens für die Zeichnung verwendet, die mir das grafisch auf dem Bildschirm anzeigt, aber nicht da funktional eingebunden?
Suchst du noch eine Lösung, dann poste mal genauer, was das Skript leisten muss...
Meinst du so etwas (Python 3.2 (!))?
Ich hätte jetzt turtle höchtens für die Zeichnung verwendet, die mir das grafisch auf dem Bildschirm anzeigt, aber nicht da funktional eingebunden?
Suchst du noch eine Lösung, dann poste mal genauer, was das Skript leisten muss...
Code: Alles auswählen
# Flächeninhalt Quadrat
import turtle
a = input("Geben Sie eine Seitenlänge (1.2) ein: ")
text = "Flächeninhalt: {:.0f}"
print(text.format(float(a) ** 2))
for i in range(4):
turtle.forward(float(a) * 10)
turtle.right(90)
print("Maßstab 1 : 10 (!)")
Leider schliesst sich das "Zeichner" -Fenster sofort nach dem zeichnen wieder.
Bisher haben wir einfach nur Turtle-Zeichnungen und schreiben am Ende mainloop() um das Fenster aufrechtzuerhalten. Wie wäre dies denn hier möglich?
frecker
Bisher haben wir einfach nur Turtle-Zeichnungen und schreiben am Ende mainloop() um das Fenster aufrechtzuerhalten. Wie wäre dies denn hier möglich?
frecker