Python中圆周率高级玩法,竟然有人不知道!

今天给你们带来了关于圆周率Π的好玩实例。包括计算圆周率,圆周率中找出某个数字的位置,某个数字的出现次数等等。

**1.计算圆周率
**

from decimal import Decimal, getcontext``# 设置精度,前1000位``getcontext().prec = 1000 #值越高需要计算能力越强,可以无限增大` `# 计算每一项的系数``def S(k):`    `return Decimal(1)/(16**k) * ( \`        `Decimal(4)/(8*k+1) - \`        `Decimal(2)/(8*k+4) - \`        `Decimal(1)/(8*k+5) - \`        `Decimal(1)/(8*k+6))``# 计算π``pi = sum(S(k) for k in range(100))``# 输出结果``print(str(pi))
输出:``3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093835011962794207203364936893065291867748104644374727574583568949679983056854476173673315126727274148610498502781892832516071459181023404064624644220419718878609922998257799775975735118041385284842838545872042914749645279114300601497034674445621618054268484590278822945201855661020199024724960432416007320278000740667265295678410281062598102262058209460873627590719108272742209699236791276943697208722573396299314105853556545388790779923189623504237018764294179246396419853763724856266768144730382030859746013045114408157737514682855195556041122309287193979996181405263665807427507065596791953410162316682584947419710107149195649544387690092056355170122643159538245286928627165509472876464838228750142041482467569136766573282126135322358502607289681940872667213314523558134339257783174102582383092969842845798624055264634232218768599362023105306862391701413918615192260718798231

2.找出圆周率中某个数字的位置

import time``from mpmath import mp``# 设置精度``mp.dps = 1000``# 计算π的值``pi = mp.pi``# 将π转换为字符串``pi_str = str(pi)``# 目标内容``target = "520"``# 开始计时``start_time = time.perf_counter()``# 在π的字符串表示中查找目标内容``index = pi_str.find(target)``digit = index + len(target)``# 停止计时``end_time = time.perf_counter()``if index != -1:`    `print("找到了!目标内容为:", target)`    `print("在结果字符串中的位置:", index)`    `print("第", digit, "位")``else:`    `print("未找到目标内容:", target)``# 计算所用时间(以秒为单位)``elapsed_time = end_time - start_time``print("查找所用时间:", elapsed_time, "秒")
输出:``找到了!目标内容为:520``在结果字符串中的位置:326``第 329 位``查找所用时间:3.100000000005876e-06 秒

**3.找出偶数,奇数以及重复数量
**

from mpmath import mp``   ``# 设置精度``mp.dps = 100``   ``# 计算π的值``pi = mp.pi``   ``# 将π转换为字符串``pi_str = str(pi)[:101]  # 只取前101位,包括小数点``   ``# 统计数字0-9的出现次数``digit_counts = {str(i): 0 for i in range(10)}``for digit in pi_str:`    `if digit.isdigit():`        `digit_counts[digit] += 1``   ``# 统计偶数和奇数的数量``even_count = 0``odd_count = 0``for digit in pi_str:`    `if digit.isdigit():`        `if int(digit) % 2 == 0:`            `even_count += 1`        `else:`            `odd_count += 1``   ``# 输出结果``print("数字0-9的出现次数:")``for digit, count in digit_counts.items():`    `print(digit, "出现了", count, "次")``   ``print("偶数的数量:", even_count)``print("奇数的数量:", odd_count)
输出:``数字0-9的出现次数:``0 出现了 8 次``1 出现了 8 次``2 出现了 12 次``3 出现了 12 次``4 出现了 10 次``5 出现了 8 次``6 出现了 9 次``7 出现了 7 次``8 出现了 13 次``9 出现了 13 次``偶数的数量: 52``奇数的数量: 48

4.计算黄金比例

import math``# 计算黄金比例``golden_ratio = (1 + math.sqrt(5)) / 2``print("黄金比例的值:", golden_ratio)
输出:``黄金比例的值:1.618033988749895

5.斐波那契数列

def fibonacci(n):`    `if n <= 0:`        `return []`    `elif n == 1:`        `return [0]`    `elif n == 2:`        `return [0, 1]`    `else:`        `fib = fibonacci(n-1)`        `fib.append(fib[-1] + fib[-2])`        `return fib``   ``result = fibonacci(10)``print(result)
输出:``[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

6.计算 √3 和 √2

import math``# 计算 √3``sqrt_3 = math.sqrt(3)``print("√3 =", sqrt_3)``# 计算 √2``sqrt_2 = math.sqrt(2)``print("√2 =", sqrt_2)
输出:``√3 = 1.7320508075688772``√2 = 1.4142135623730951

以上就是“Python中圆周率高级玩法,竟然有人不知道!”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值