Я использую графический модуль python (John Zelle). Раньше у меня никогда не было проблемы, я мог бы просто что-то игнорировать, но я не могу найти его. Я пытаюсь нарисовать тик-так-палку. Строки не вписываются. Оболочка говорит, что ошибка в graphics.py, но я перезагрузил ее из разных источников, обезвредил ее и даже не понял, что я делаю неправильно. Пожалуйста помоги.объект линии из graphics.py не чертеж
#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
Я добавил трассировку, полученную при запуске кода, если у вас есть что-то другое, пожалуйста, перейдите по ссылке «graphics.py», которую вы используете, и мимо полученной вами ошибки. –
Спасибо. Да, та же ошибка, которую я получал. Это как-то связано с моими координатами, потому что когда я удалил его, он работал нормально. Угадайте, мне нужно немного попрактиковаться ... – Seth
Я не думаю, что это на вас, вы даете ему две точки с одинаковой координатой y, поэтому разница в Y равна 0, и она пробует некоторое разделение с ней для масштабирования (уведомление последняя строка '/ self.yscale'), поэтому я просто проклинаю библиотеку и использую слегка перекошенную строку. –