Здравствуйте. Не могу дописать код. Нужно, чтобы выводило прямую, а выводит какую-то фигню. Помогите пожалуйста понять, как правильно писать координаты, чтобы выводило прямую по уравнению.
Уравнение: y=a*x+b, а ≠0
Мой код:
Уравнение: y=a*x+b, а ≠0
Мой код:
Код:
from tkinter import *
root = Tk()
root.title ("y = ax + b , a != 0")
root.geometry ("700x500+100+250" )
canv = Canvas (root, width = 520, height = 420, bg = '#9df') # bg - color
x = 0
while x <= 8:
k = 50 * x
x += 1
canv.create_line(10, 10+k, 510, 10+k, width='1',fill='grey')
y = 0
while y <= 10:
k = 50 * y
y += 1
canv.create_line(10+k, 410, 10+k, 10, width='1',fill='grey')
# X та Y:
canv.create_line(10, 210, 510, 210, width='2', arrow='last', fill='#000000')
canv.create_line(260, 10, 260, 410, width='2', arrow='first', fill='#000000')
i = 0
j = 220
while i <= 200:
canv.create_text(290,j,text=str(i),fill="red")
j-=50
i+=50
#подпись осей
canv.create_text(500,200,text='X',fill="blue")
canv.create_text(230,20,text='Y',fill="blue")
# x*a +b
a = 5
b = 30
x1 = 0
y1 = 0
x = 6
while (y <= 200 and a>0 or y >= -200 and a<0):
y = x*a +b
if x != 0:
canv.create_line(260+x1, 210-y1,260+x,210-y, width='2', fill='green')
x1 = x
y1 = y
x+=1
canv.pack(side = 'right')
root.mainloop()
Последнее редактирование: