Python第四周作业

  • 1. 青蛙跳台阶的计算
  • 2. 汉诺塔
  • 3. 计算三维空间某点距离原点的欧式距离
  • 4. 验证码较验
  • 5. 大小写转换
  • 6. 查找指定字符
  • 7. 凯撒加密
  • 8. 敏感词过滤
  • 9. 字符串替换
  • 10. 身份证号处理
  • 11. 斐波纳契数列 II
  • 12. 英文单词个数统计
  • 13. 任意累积
  • 14. 随机密码生成
  • 15. 时间输出格式化
  • 16. 时间差之天数计算
  • 17. 用python计算圆周率PI


1. 青蛙跳台阶的计算

【描述】

一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入台阶数,输出一共有多少种跳法‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

【输入】

示例 1 :3

【输出】

示例 1 :3

【代码】

def frog(n):
    if n <= 2:
        return n
    t1, t2 = 1, 2 #1级台阶1种跳法,两级台阶2种跳法
    for i in range(3, n+1):#从第三个台阶开始到第n个台阶的跳法
        t1, t2 = t2, t1+t2#后一个台阶的跳法=前两个台阶跳法之和
    return t2

n = int(input()) #n级台阶
print(frog(n))

【参考】


2. 汉诺塔

【描述】

古代有一座汉诺塔,塔内有3个座A、B、C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示。有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座来放盘子。要求输出移动的步骤。

python要求输出梵塔问题中的总步数测试 python输出台阶_python


【输入】

输入一个正整数,表示汉诺塔内的盘子个数n(1<=n<=64)

示例 1 :3

【输出】

输出移动的步骤,每行一步,如从A座移动到C座,输出“A–>C”

示例 1 :
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C

【代码】

def move(n, A, B, C):
    if(n == 1):
        print(A,"-->",C)
        return
    move(n-1, A, C, B)
    move(1, A, B, C)
    move(n-1, B, A, C)
    
n = int(input())
move(n, "A", "B", "C")

【参考】


3. 计算三维空间某点距离原点的欧式距离

【描述】

欧几里得度量(euclidean metric, 也称欧氏距离)是一个通常采用的距离定义。三维空间里点a和b的坐标如果分别为a(x1,y1,z1)、b(x2,y2,z2),则ab的距离的计算公式是:

dist(a,b) = √( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )

编写函数计算两点的欧式距离,并输出(保留小数点后两位)。

【输入】

输入是一个点a的三维坐标,以逗号分割,形如:x,y,z ,其中x,y,z都是非负实数

示例 1 :1.0,1.0,1.0

【输出】

输出点a与原点的距离(保留小数点后两位)

示例 1 :1.73

【代码】

import math
def distance(x,y,z):
    b=(0,0,0) #原点坐标
    return math.sqrt( (x-b[0])**2 + (y-b[1])**2 + (z-b[2])**2 )

x,y,z=input().split(",")
d=distance(float(x),float(y),float(z))#调用distance函数
print("{:.2f}".format(d))#输出距离值,保留两位小数

4. 验证码较验

【描述】

用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。请写一个程序完成验证码的匹配验证,假设当前显示的验证码是’Qs2X’。如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”

【输入】

输入一个字符串

示例 1 :1234

示例 2 :qS2x

【输出】

根据较验结果输出 “验证码正确” 或 “验证码错误,请重新输入”

示例 1 :验证码错误,请重新输入

示例 2 :验证码正确

【代码】

user_input = input()
CAPTCHA = "Qs2X"
if user_input.lower() == CAPTCHA.lower():#把验证码和用户输入的字符全部变成小写或大写,然后对比
    print("验证码正确")
else:
    print("验证码错误,请重新输入")

5. 大小写转换

【描述】

编写程序,用户输入一个字符串,将其中小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

注:string.ascii_lowercase 可用于返回所有小写字母,string.ascii_uppercase 可用于返回所有大写字母

【输入】

示例 1 :abcABC123

【输出】

示例 1 :ABCabc123

【代码】

# 1.
import string
sentence = input()
for i in sentence:
    if i in string.ascii_lowercase:     #字符是小写
        print(i.upper(),end='')
    elif i in string.ascii_uppercase:   #字符是大写
        print(i.lower(),end='')
    else:								#其他字符
        print(i,end='')
# 2.
import string
sentence = input()
print(str.swapcase(sentence))

6. 查找指定字符

【描述】

编写程序,从用户给定字符串中查找某指定的字符。

【输入】

输入的第一行是一个待查找的字符‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

第二行是一个以回车结束的非空字符串。

示例 1 :
p
python is a cpmputing language

【输出】

如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);

否则输出"Not Found"。

示例 1 :index = 15

【代码】

character = input()
sentence = input()
if character in sentence:
    print("index = {}".format(sentence.rfind(character)))
    #find()从字符串的开头开始查找,rfind()从字符串的末尾开始查找
else:
    print("Not Found")

7. 凯撒加密

【描述】

在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。编程实现恺撒加密,明文和偏移量由用户输入,输出密文。

【输入】

第一行是一个字符串‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

第二行是一个正整数

示例 1 :
python is a cpmputing language
5

【输出】

一个字符串,内容为用户输入字符串加密的结果

示例 1 :udymts nx f huruzynsl qfslzflj

【代码】

sentence = input()
n = int(input())
new_sentence = ""
for c in sentence:
    if c>="a" and c<="z":
        new_sentence+= chr( ord('a') + ((ord(c)-ord('a')) + n )%26 )
        #ord()获取得到字符的ASCⅡ值
    elif c>="A" and c<="Z":
        new_sentence+= chr( ord('A') + ((ord(c)-ord('A')) + n )%26 )
    else:
        new_sentence += c
print(new_sentence)

8. 敏感词过滤

【描述】

现在基本上所有的网站都需要设置敏感词过滤,编程查找与敏感词列表相匹配的字符串,如果找到以*号替换,最终得到替换后的字符串。

假设敏感词列表由以下词组成:垃圾,陷阱,不要脸,内幕,辣鸡。

【输入】

示例 1 :你真是个辣鸡,太不要脸了!

【输出】

示例 1 :你真是个**,太**了!

【代码】

import re
def check_filter(keywords, text):
     return re.sub("|".join(keywords), "**", text)
     
keywords = ("垃圾","陷阱","不要脸","内幕","辣鸡")
text = input() 
print(check_filter(keywords, text))

9. 字符串替换

【描述】

在编辑文档时,对于出现频率很高又难于输入的字符串经常可以用一个特殊的短字符串代替输入,待文档完成时再替换回来。

如:在输入“武汉理工大学”时,可以用"whut"代替,编程完成这种替换。

【输入】

第一行是用于替换的短字符串‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

第二行是需要替换的较长的字符串‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

第三行是输入的文档,以回车结束。

示例 1 :
p
python
我爱p,p是一门非常受欢迎的计算机语言

【输出】

替换后的字符串

示例 1 :我爱python,python是一门非常受欢迎的计算机语言

【代码】

short_string, long_string, sentence = input(),input(),input()
print(sentence.replace(short_string, long_string))

10. 身份证号处理

【描述】

18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。

用户输入一个合法的身份证号,请输出用户的出生年月日,年龄和性别。(不要求较验输入的合法性)

可参考以下代码:

import datetime
datetime.datetime.now().year  #可用于获得当前年份

【输入】

输入一个合法的身份证号字符串

示例 1 :220221197305165535

【输出】

你出生于19xx年xx月xx日
你今年xx周岁
你的性别为x

示例 1 :
你出生于1973年05月16日
你今年45周岁
你的性别为男

【代码】

import datetime
ID = input()
ID_year = int(ID[6:10])
ID_month = ID[10:12]
ID_day = ID[12:14]
now = datetime.datetime.now().year
print("你出生于{}年{}月{}日".format(ID_year,ID_month,ID_day))
print("你今年{}周岁".format(now-ID_year))
if int(ID[-2]) % 2 == 0:
    print("你的性别为女")
else:
    print("你的性别为男")

11. 斐波纳契数列 II

【描述】

计算斐波那契数列的值,具体功能如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

获取用户输入整数 N,其中,N 为正整数‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬;
计算斐波那契数列的值‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬。

如果将斐波那契数列表示为 fbi(N),对于整数 N,值如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

当 N = 1 / N = 2 时,fbi(1) 和 fbi(2)的值是 1;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

当 N > 2 时,fbi(N) = fbi(N-1) + fbi(N-2);

【输入】

示例 1 :4

【输出】

示例 1 :3

【代码】

def fbi(n):
    if n<=2:
        return 1
    f1, f2 = 1, 1
    for i in range(3,n+1):
        f1, f2 = f2, f1+f2
    return f2

n = eval(input())
print(fbi(n))

12. 英文单词个数统计

【描述】

给出一个字符串 s,请统计并打印字符串 s 中出现单词的个数。

【输入】

示例 1 :无

【输出】

示例 1 :10

【代码】

s = '''
"Collusion is very real with Russia," Trump quoted conservative commentator Dan Bongino as saying on Trump's favorite Fox News morning show, "but only with Hillary and the Democrats, and we should demand a full investigation."
'''
ns = s.split(" ")
print(len(ns))

13. 任意累积

【描述】

计算任意个输入数字的乘积。

【输入】

示例 1 :1,2,3,4

【输出】

示例 1 :24

【代码】

def cmul(n,*a):
    m=n
    for i in a:
        m*=i
    return m

print(eval("cmul({})".format(input())))

14. 随机密码生成

【描述】

完成如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

以整数 17 为随机数种子,获取用户输入整数 N 为长度,产生 3 个长度为 N 位的密码,密码的每位是一个数字。每个密码单独一行输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

产生密码采用 random.randint() 函数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬

【输入】

示例 1 :3

【输出】

示例 1 :
634
524
926

【代码】

import random

def genpwd(length):
    a,b=10**(length-1),10**length-1
    return random.randint(a,b)

length = eval(input())
random.seed(17)
for i in range(3):
    print(genpwd(length))

15. 时间输出格式化

【描述】

如下是一个完整程序,根据提示代码完成如下任务,输出如“2020年10月10日10时10分10秒”样式的时间信息。

____代码1____
timestr = "2020-10-10 10:10:10"
t = time.strptime(timestr, "%Y-%m-%d %H:%M:%S")
print(time.strftime("____代码2____", t))

【输入】

示例 1 :无

【输出】

示例 1 :2020年10月10日10时10分10秒

【代码】

import time
timestr = "2020-10-10 10:10:10"
t = time.strptime(timestr, "%Y-%m-%d %H:%M:%S")
print(time.strftime("%Y年%M月%d日%H时%M分%S秒", t))

16. 时间差之天数计算

【描述】

获得用户输入的两个与时间相关的字符串,两个时间用逗号分隔,每个时间字符串格式示例如下:2018年08月01日17点21分21秒。

计算两个时间差的绝对值,输出相差的完整天数。

【输入】

示例 1 :2018年10月10日17点18分20秒,2018年10月11日19点18分20秒

【输出】

示例 1 :1

【代码】

import time
import datetime
day1,day2 = input().split(',')
t1 = time.strptime(day1, "%Y年%m月%d日%H点%M分%S秒")
t2 = time.strptime(day2, "%Y年%m月%d日%H点%M分%S秒")
d1 = datetime.datetime(t1[0],t1[1],t1[2],t1[3],t1[4],t1[5])
d2 = datetime.datetime(t2[0],t2[1],t2[2],t2[3],t2[4],t2[5])
early = min(d1,d2)
later = max(d1,d2)
days = list(str(later - early).split(' '))
print(days[0])

17. 用python计算圆周率PI

【描述】

1.要求能算到小数点后面越多越好(5分)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

2.并用进度条提示算的进度,能给出多种进度条越好(5分)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬3.要求给出算圆周率Pi具体公式或者算法说明‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬进度条设计参考:
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬简单直接进度条设计:
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

【代码】

pi = 0
N = 100
for k in range(N):
     pi += 1/pow(16, k) * (4 / (8 * k + 1) - 2 /(8 * k + 4) - 1/(8 * k + 5) - 1 /(8 * k + 6))
     print("圆周率值是:{}".format(pi))

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬