# coding: utf-8
from math import sqrt
from random import random
'''计算圆周率'''
while True:
try:
N =int(input(f' {"输入计算次数:":>14}'))
break
except Exception as error:
input(f' {"请输入正整数!":.^35} {error} ')
k = 0 #初始化有效计算次数。
for i in range(1, N + 1): #遍历输入的计算次数。
x, y = random(), random() #随机生成0~1.0的(x, y)。
r = sqrt(x**2 + y**2) #计算半径,(x, y)为直角边边长的三角形斜边。
if r <= 1.0: #斜边长度在半径为1.0的圆内,为有效计算次数。
k += 1
N_s = f'计算{N}次'
Pi = 4*(k/N) #圆周率,只计算了(x, y)均为正的象限,所以×4。
print(f' {"圆周率计算":_^37} {N_s:.^39} {"Pi = ":>20}{Pi:.8f} {"The End":_^42} ')