<gh_stars>0
import sys

def f(x):
    return x

x0, x1 = map(float, input("Задайте границы отрезка: ").split())
eps = float(input("Задайте точность: "))
max_iter = int(input("Максимальное число итераций: "))

if f(x0)*f(x1) > 0: # если знаки функции на границе равны
    print("На интервале отсутствуют корни")
    sys.exit()

i = 0 # счётчик итераций
x = (x0 + x1)/2 # зададим x на случай, если половина интервала меньше eps
while (x1 - x0)*2 > eps:
    if f(x0) == 0: # проверим левую границу интервала на ноль
        x = x0
        break
    elif f(x1) == 0: # теперь правую
        x = x1
        break
    elif i == max_iter: # проверка на то, что итерации не превысили ограничение
        print("Превышен лимит итераций")
        sys.exit()
    else: # сам алгоритм уточнения корня
        x = (x0 + x1)/2 # берём центр интервала
        if f(x0)*f(x) < 0: # если произведение функции от левой границы и
            # центра интервала разных знаков, то сдвинем правую границу
            x1 = x
        else: # иначе - левую
            x0 = x
        i += 1 # увеличим счётчик итераций

print("Корень",x,"найден за",i,"итераций")

import sys

def f(x):
    return x

x0, x1 = map(float, input("Задайте границы отрезка: ").split())
eps = float(input("Задайте точность: "))
max_iter = int(input("Максимальное число итераций: "))

if f(x0)*f(x1) > 0: # если знаки функции на границе равны
    print("На интервале отсутствуют корни")
    sys.exit()

i = 0 # счётчик итераций
x = (x0 + x1)/2 # зададим x на случай, если половина интервала меньше eps
while (x1 - x0)*2 > eps:
    if f(x0) == 0: # проверим левую границу интервала на ноль
        x = x0
        break
    elif f(x1) == 0: # теперь правую
        x = x1
        break
    elif i == max_iter: # проверка на то, что итерации не превысили ограничение
        print("Превышен лимит итераций")
        sys.exit()
    else: # сам алгоритм уточнения корня
        x = (x0 + x1)/2 # берём центр интервала
        if f(x0)*f(x) < 0: # если произведение функции от левой границы и
            # центра интервала разных знаков, то сдвинем правую границу
            x1 = x
        else: # иначе - левую
            x0 = x
        i += 1 # увеличим счётчик итераций

print("Корень",x,"найден за",i,"итераций")
# если знаки функции на границе равны # счётчик итераций # зададим x на случай, если половина интервала меньше eps # проверим левую границу интервала на ноль # теперь правую # проверка на то, что итерации не превысили ограничение # сам алгоритм уточнения корня # берём центр интервала # если произведение функции от левой границы и # центра интервала разных знаков, то сдвинем правую границу # иначе - левую # увеличим счётчик итераций