Цель - функция по отрисовке графика определенной функции.
Тестировал y=x*x (парабола) - работает на ура.
А вот на y=x и y=x*x*x и подобных работает криво. Где может быть загвостка?
Рабочий вариант с параболой
def func(x):
return x * x
def draw(func, bottom, top, strings):
# определяем шаг по оси X
shag = round((top - bottom) / strings, 1)
x = bottom
while(x <= top):
# получаем значение для y
y = round(func(x))
# готовим строку, добавляя туда пробелы и на конец - символ *
resultString = ''
for i in range(1, y + 1):
resultString += ' '
resultString += '*'
print(resultString)
print()
x += shag
print()
draw(func, -5, 5, 20)
Вот что должно быть при x=y
def func(x):
return x
draw(func, -5, 5, 10)
*
*
*
*
*
*
*
*
*
*
*
Но выдаёт
*
*
*
*
*
*
*
*
*
*
*
В случае с y=x*x*x
def func(x):
return x * x * x
draw(func, -3.5, 3.5, 20)
Должно быть, исходя из логики
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
А получается
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Предполагаю, надо грешить на округление?