Вывод таблицы значений функции (Python)

Тема: 
Циклы

Вывести таблицу значений заданной функции на отрезке и с шагом, которые вводит пользователь.

Пусть фунция будет такой: y = -3x2 - 4x + 20.

Алгоритм решения задачи:

  1. Запросить у пользователя точки начала и конца отрезка, а также шаг.
  2. Если значение точки начала отрезка больше значения точки конца, то поменять значения.
  3. Пока значение первой точки не достигнет второй
  4. вычислить значение функции,
  5. вывести на экран текущие значения x и y,
  6. увеличить значение первой точки на шаг.

x1 = float(input("Точка начала отрезка: " ))
x2 = float(input("Точка конца отрезка: " ))
step = float(input("Шаг: " ))
 
if x1 > x2:
	x1, x2 = x2, x1
 
print("Функция: y = -3x**2 - 4x + 20")
print("   x        y")
while x1 <= x2:
	y = -3*x1**2 - 4*x1 + 20
	print('%5.2f | %7.2f' % (x1, y))
	x1 += step

Пример выполнения кода:

Точка начала отрезка: 6
Точка конца отрезка: 10.5
Шаг: 0.7
Функция: y = -3x**2 - 4x + 20
   x        y
 6.00 | -112.00
 6.70 | -141.47
 7.40 | -173.88
 8.10 | -209.23
 8.80 | -247.52
 9.50 | -288.75
10.20 | -332.92