import time
def calculate_pi(iterations):
pi = 0
sign = 1
denominator = 1
for i in range(iterations):
pi += sign * (1 / denominator)
sign = -sign
denominator += 2
return pi * 4
# 简单文本进度条
def simple_progress_bar(iteration, total, prefix='', suffix='', length=50):
progress = iteration / total
filled_length = int(length * progress)
bar = '█' * filled_length + '-' * (length - filled_length)
print(f'\r{prefix} |{bar}| {progress * 100:.2f}% {suffix}', end='')
if iteration == total:
print()
# 计算圆周率并显示进度条
iterations = 1000000
print("使用莱布尼茨公式计算圆周率,进度:")
start_time = time.time()
pi = 0
for i in range(iterations):
pi += (-1) ** i / (2 * i + 1)
simple_progress_bar(i + 1, iterations, prefix='进度', suffix='完成')
pi = pi * 4
end_time = time.time()
print(f"计算得到的圆周率:{pi}")
print(f"计算耗时:{end_time - start_time} 秒")