Помогите, пожалуйста с решением задачи код Python
Перед изучением функций из программирования Саша решил оживить свои знания о функциях математики. Помогите Саше написать программу, которая будет считать значение функции в каждой точке отрезка с нужным шагом, начиная с конца). Напишите программу, которая получает на вход начало и конец отрезка, а также шаг (отрицательный), а затем высчитывает функцию y в каждой точке отрезка и выводит ответ на экран с нужным шагом, начиная с конца.
Сама функция выглядит так:
y = x**3 + 2*x**2 - 4*x + 1
Должно получится так:
Введите начало отрезка: -2
Введите конец отрезка: 2
Введите шаг: -1
В точке 2 функция равна 9
В точке 1 функция равна 0
В точке 0 функция равна 1
В точке -1 функция равна 6
В точке -2 функция равна 9
Я ввел код
begin = int(input('Введите начало отрезка: '))
finish = int(input('Введите конец отрезка: ')
step = int(input('Введите шаг: ')
for x in range(finish, begin, step):
y = (x ** 3) + 2 * (x ** 2) - (4 * x) + 1
print('В точке', x, 'функция равна', y)
if begin finish:
begin, finish = finish, begin
if step > 0:
step = step * -1
На выходе у меня получилось:
Введите начало отрезка: -2
Введите конец отрезка: 2
Введите шаг: -1
В точке 2 функция равна 9
Ты задал условия в теле алгоритма, что никак не влияет на значения в range()
Привет, вот мой вариант.
beginning = int(input("Введите начало отрезка: "))
end = int(input("Введите конец отрезка: "))
step = int(input("Введите шаг: "))
if beginning > end:
beginning, end = end, beginning
if step > 0:
step = -step
for x in range(end, beginning - 1, step):
y = x**3 + 2 * x**2 - 4 * x + 1
print("В точке ", x, "функция равна ", y)
шаг задается в интервале range. больше он не меняется. хоть что напиши в теле алгоритма, хоть убейся.
надо изначально задать шаг:
- abs(step)
for x in range(finish, begin, - abs(step)):
print (hello world!)