湖北师范大学-Python程序设计-3.3 计算圆周率(project)

第1关:割圆法

编程要求
根据提示,在右侧编辑区补充代码,编程实现割圆法计算圆周率,输出在正六边形基础上分割n次时得到多边形的边数、圆周率值以及math库中的圆周率值。

测试说明
平台会对你编写的代码进行测试:

输入格式
输入为一行,一个正整数n ,表示在内接正六边形的基础上割圆的次数。

输出格式
输出为两行,第一行输出在内接正六边形基础上再次分隔n次,分隔得到的正多边形的边数m,以及割圆法计算得到的圆周率pi(保留六位小数);第二行输出math库里的pi值(保留六位小数)。
具体输出格式见示例。

示例
输入:
4
输出:
分割4次,边数为96,圆周率为3.141032
math库中的圆周率常量值为3.141593

'''
编程实现割圆法计算圆周率,并输出分割不同次数时边数、圆周率值以及计算所得圆周率值与math库中的圆周率值的偏差。
'''

import math

def cutting_circle(n):      # n为分割次数
    """接收表示分割次数的整数n为参数,计算分割n次时正多边形的边数和圆周率值,返回边数和圆周率值"""
    side_length = 1  # 初始边长
    edges = 6  # 初始边数
    # 补充你的代码
    #######################Begin############################
    # 补充你的代码
    edges=edges*(2**n) #分割后的边数
    
    def length(x):
       h=math.sqrt(1-(x/2)**2)
       CD=1-h
       AD=math.sqrt((x/2)**2 + CD**2)
       return AD
    for i in range(n):
        side_length=length(side_length)
        pi=side_length*edges/2
   
   
    #pri
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值