Ich benutze Python-Grafikmodul (John Zelle). Ich hatte vorher noch nie ein Problem, ich könnte einfach etwas übersehen, aber ich kann es nicht finden. Ich versuche ein Tic Tac Toe Board zu zeichnen. Die Zeilen werden nicht gezeichnet. Die Shell sagt, dass der Fehler in graphics.py ist, aber ich habe es aus verschiedenen Quellen heruntergeladen, habe es sogar überflogen und kann nicht herausfinden, was ich falsch mache. Bitte helfen Sie.Linienobjekt von graphics.py nicht zeichnen
#here is my code sample
#import graphics library
from graphics import *
#build interface
def interface():
win = GraphWin("Tic Tac Toe", 600,700)
win.setCoords(8,1,6,1)
#horizontal line #1
h1 = Line(Point(2,1),Point(2,5))
h1.draw(win)
#...there is more but it's repetitive so I won't waste time.
>>> interface()
Traceback (most recent call last):
File ".../test.py", line 12, in <module>
interface()
File ".../test.py", line 10, in interface
h1.draw(win)
File "/LIB/graphics.py", line 450, in draw
self.id = self._draw(graphwin, self.config)
File "/LIB/graphics.py", line 627, in _draw
x1,y1 = canvas.toScreen(p1.x,p1.y)
File "/LIB/graphics.py", line 335, in toScreen
return self.trans.screen(x,y)
File "/LIB/graphics.py", line 386, in screen
ys = (self.ybase-y)/self.yscale
ZeroDivisionError: float division by zero
Ich habe den Traceback hinzugefügt, den ich beim Ausführen des Codes erhalten habe, wenn Sie etwas anderes haben, verlinken Sie bitte zu dem 'graphics.py', den Sie benutzen, und hinter dem Fehler, den Sie bekommen. –
Danke. Ja, das ist der gleiche Fehler, den ich bekommen habe. Es hat etwas mit meinen Koordinaten zu tun, denn als ich es entfernte, funktionierte es gut. Schätze, ich muss ein wenig mehr üben ... – Seth
Ich glaube nicht, dass das auf Sie zutrifft, Sie geben ihm zwei Punkte mit der gleichen y-Koordinate, so dass der Unterschied in Y 0 ist und es eine Skalierung versucht (notice) die letzte Zeile ist '/ self.yscale'), also würde ich einfach die Bibliothek verfluchen und eine leicht schiefe Linie verwenden. –