Python组 入门训练 BEGIN-3 圆的面积

蓝桥杯 入门训练 BEGIN-3 圆的面积

题干要求:

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

给定圆的半径r,求圆的面积。

输入格式

输入包含一个整数r,表示圆的半径。

输出格式

输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

说明:在本题中,输入是一个整数,但是输出是一个实数。

对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。

实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

样例输入

4

样例输出

50.2654825

数据规模与约定

1 <= r <= 10000。

提示

本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。

解析:

本题看上去只要获取半径r的值,然后套用圆面积计算公式即可。但是真正上手敲代码时还是愣了一下,我卡壳的地方是这两处:
1、高精度的 Pi 如何获取
2、圆面积保留小数点后7位如何表示

这两处其实也是题干中指出的注意点。只要解决了这两点,那么本题其实是没难度的。

代码:

# 导入Python内置模块math,获取高精度的Pi
import math
# 获取半径r的值
r = int(input())
# 计算圆面积
area = math.pi * r * r
# 打印圆的面积
print('{:.7f}'.format(area))

关于上面提到的卡壳点:
1、高精度的Pi可以从Python内置模块math中获取,math.pi 就是我们要的Pi
2、保留小数点后7位输出,通过格式化字符串来实现,这里我是用字符串相关的format函数进行格式化的。也可以使用C风格的 %f 这种语句,看个人习惯吧。

扩展一下:

我个人也刚开始备考蓝桥杯,今天算是正儿八经做题的第二天,因此我自己对如何备考也有一些迷茫,比如有一点,就是Python组不能使用第三方库,只能使用Python内置的模块做题,这里就牵扯到我到底要学习哪些内置模块呢?我的想法是通过做题来发现自己需要掌握的模块,比如本题用到了math模块,那么闲暇之余就可以通过Python文档来学习一下math模块的基本用法。

1、math.pi 作为math模块的常量出现,具体精确到小数点后15位

3.141592653589793

2、数字保留小数点后X位方式——格式化字符串

'{:.Xf}'.format(num)
# X为需要保留的小数点后位数

# 假设我们保留 pi 的小数点后10位输出
print('{:.10f}'.format(math.pi))

3.1415926536
可以发现,格式化字符串输出,不是简单地“截断”,而是采用四舍五入的方式,非常符合做题的需要

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值