Bisection
Bisection
"""
#TABLE
print(f"{'Iter':<5}{'xl':<20}{'xu':<20}{'xr':<20}{'ea%':<25}")
print('-'*70)
for i in range(max_iter):
print(f"{i + 1:<5}{lower:<20.5f}{upper:<20.5f}{midpoint:<20.5f}{error:<15.5f}")
break
if f_mid == 0:
return midpoint
# Narrow down the interval
else:
return (lower + upper) / 2 # Return the best estimate after max iterations
# Example usage
if __name__ == "__main__":
while True:
if func_input.lower() == 'q':
break
else:
def func(x):
return eval(func_input)
try:
except ValueError as e:
print(e)