Работа цикла while в работе
Имеется код
print("Введите исходные данные")
print("x0 = ", end='')
x0 = float(input())
print("hx = ", end='')
hx = float(input())
print("xn = ", end='')
xn = float(input())
print("Вы ввели:")
print("x0 = %.1f xs = %.1f x2 = %.31f" % (x0, hx , xn))
x = x0
y = 0
n=int(1)
round(n)
while x <= xn + hx/2:
if x >= -2 and x <= -1:
y = (2*x + 4)
elif x > -1 and x <= 1:
y = (x**2)*2
elif x > 1 and x <= 2:
y = -2*x + 2
else:
y = ("Error")
print("x = %.1f y = %.1f" % (x,y))
x += hx
И почему-то он не работает так,как нужно.Объясните пожалуйста дураку,в чем дело.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Как сейчас говорят в России: "Отступы в Питоне - такие отступы."
print("Введите исходные данные")
print("x0 = ", end='')
x0 = float(input())
print("xs = ", end='')
xs = float(input())
print("x2 = ", end='')
x2 = float(input())
print("Вы ввели:")
print("x0 = %.1f xs = %.1f x2 = %.31f" % (x0, xs, x2))
x = x0
y = 0
while x <= x2 + xs / 2:
if x >= -2 and x <= -1:
y = (2*x + 4)
elif x > -1 and x <= 1:
y = (x**2)*2
elif x > 1 and x <= 2:
y = -2*x + 2
elif x < -2 or x > 2:
y = ("Error")
print("x = ", x, "y = ", y)
x += xs
Входные данные:
-3
0.25
3
Выходные данные:
x = -3.0 y = Error
x = -2.75 y = Error
x = -2.5 y = Error
x = -2.25 y = Error
x = -2.0 y = 0.0
x = -1.75 y = 0.5
x = -1.5 y = 1.0
x = -1.25 y = 1.5
x = -1.0 y = 2.0
x = -0.75 y = 1.125
x = -0.5 y = 0.5
x = -0.25 y = 0.125
x = 0.0 y = 0.0
x = 0.25 y = 0.125
x = 0.5 y = 0.5
x = 0.75 y = 1.125
x = 1.0 y = 2.0
x = 1.25 y = -0.5
x = 1.5 y = -1.0
x = 1.75 y = -1.5
x = 2.0 y = -2.0
x = 2.25 y = Error
x = 2.5 y = Error
x = 2.75 y = Error
x = 3.0 y = Error