from mpmath import mp # 设置精度,确保我们能获取到足够的圆周率位数 mp.dps = 10000001 # 设置比所需位数多一位以确保足够的精度 # 获取圆周率的前10000000位 pi_str = str(mp.pi)[2:10000002] # 跳过头两个字符'3.' # 初始化计数器 counters = {str(i): 0 for i in range(10)} # 统计每个数字出现的次数 for digit in pi_str: counters[digit] += 1 # 打印结果 for i in range(10): print(f"数字 {i} 出现的次数: {counters[str(i)]}")
结果为:
数字 0 出现的次数: 999440
数字 1 出现的次数: 999333
数字 2 出现的次数: 1000306
数字 3 出现的次数: 999964
数字 4 出现的次数: 1001093
数字 5 出现的次数: 1000466
数字 6 出现的次数: 999337
数字 7 出现的次数: 1000207
数字 8 出现的次数: 999814
数字 9 出现的次数: 1000040