计算分数和-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第48讲。

计算分数和,本题是2021年1月23日举办的第12届蓝桥杯青少组Python编程选拔赛真题,题目要求编程根据输入整数n的奇偶性,分别计算对应分数的总和。

先来看看题目的要求吧。

一.题目说明

编程实现:

输入一个正整数n,如果n为偶数,则计算1/2 + 1/4 + 1/6 … + 1/n的结果,如果n为奇数时,则计 算1/1 + 1/3 + 1/5 … + 1/n的结果,输出最后计算的结果。

例如:

输入为4,则计算1/2 + 1/4的结果,输出为0.75

输入为5,则计算1/1 + 1/3 + 1/5的结果,输出为1.53

输入描述:

输入一个正整数n

输出描述:

输出最后计算的结果(最后结果保留两位小数,不要在每次除法时保留小数)

样例输入:

7

样例输出:

1.68

02

二.思路分析

这是一道简单的计算题,考查的知识点包括循环和小数的格式化输出。

当输入的n为偶数时,分数的分母为偶数,如下:

2, 4, 6, 8, 10...

当输入的n为奇数时,分数的分母为奇数,如下:

1, 3, 5, 7, 9...

为了方便,我们可以先使用列表将这些数字存起来,然后再循环求和。

题目要求计算结果只保留两位小数,很多同学不太熟悉小数的格式化输出。

在Python中,控制小数的精度通常有如下三种方式:

1). 格式化说明符

2). 格式化字符串

3). round()函数

先介绍第一种,格式化说明符是通过使用 % 运算符来插入变量到字符串中,并通过格式化说明符(如 %.2f)来控制浮点数的显示精度,如下:

total = 3.14159  print('%.2f' % total)  # 输出:3.14

在 '%.2f' 中,% 表示开始一个格式化说明符,.2 表示保留两位小数,f 表示格式化浮点数,然后通过 % 运算符将 total 变量的值插入到格式化字符串中。

这种方式在Python 2中非常常见,并且在Python 3中仍然有效。

再来说说第二种,从Python 3.6开始,引入了新的格式化方法——f-string或者format,它提供了一种更简洁、更易读的方式来格式化字符串。

使用如下:​​​​​​​

num = 3.14159  print(f"{num:.2f}")  # f-string print("{:.2f}".format(num))  # format函数

f-string支持在{}内使用冒号后的格式说明符来控制类型、填充、对齐等格式化选项。

此外,在f-string中,还可以直接在{}内编写任何有效的Python表达式,包括算术运算、函数调用等,并且表达式的结果将被直接嵌入到字符串中。

注意,在使用f-string的时候,可以是小写的f,也可以是大写的F,效果完全一样。

第三种就是round()函数了,round()是Python内置的一个函数,它可以用来对浮点数进行四舍五入,并指定保留的小数位数。

用法如下:​​​​​​​

num = 3.14159  rounded_num = round(num, 2)  # 保留两位小数  print(rounded_num)  # 输出:3.14

需要说明的,无论是使用%.nf的格式化方法,还是使用str.format()方法或者f-string,它们都遵循四舍五入的规则,以保留指定的小数位数。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写程序如下:

代码比较简单,强调三点:

1). 在构造列表的时候,使用了列表推导式的编程技巧,这是Python独有的语法特性,超级好用;

2). 在循环求和的时候,直接迭代列表,获取列表中的元素,这样更方便,当然,你也可以使用下标来获取;

3). 注意f-string的格式,它不是函数,而是字符串,是单引号和双引号均可,然后是花括号,花括号分两部分,前面的是变量,后面的格式,中间使用冒号隔开。

至此,整个程序就全部完成了,你也可以输入不同的数字来测试效果。

四.总结与思考

本题代码在10行左右,涉及到的知识点包括:

  • 循环语句,主要for...in循环;

  • 条件语句,主要是双分支;

  • 格式化输出;

本题难度一般,关键在于如何控制结果保留两位小数,注意是计算后的结果,而不是每次相除时保留两位小数,二者相差还是很大的。

和其他语言相比,Python最大的特点就是提供了大量好用的库函数,包括内置和第三方的。我们平时在学习的时候,一定要多用,确保在需要的时候,能立刻想起来,也避免了重复造轮子。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3 突破编程_前端_SVG(rect 矩形)

1 rect 元素的基本属性和用法 在SVG中&#xff0c;<rect> 元素用于创建矩形。 <rect> 元素有一些基本的属性&#xff0c;可以用来定义矩形的形状、位置、颜色等。以下是这些属性的详细解释&#xff1a; x 和 y &#xff1a;这两个属性定义矩形左上角的位置。 x …

[dvwa] sql injection(Blind)

blind 0x01 low 1’ and length(version()) 6 # syntax: substr(string , from<start from 1>, cut length) 1’ and substr(version(),1,1) ‘5’ # 1’ and substr(version(),2,1) ‘.’ # 1’ and substr(version(),3,1) ‘7’ # 1’ and substr(version(),4,…

leetcode 322

leetcode 322 题目 例子 思路 记忆化搜索&#xff0c;使用数组&#xff0c;记录val的最少硬币数量&#xff1b; 递归加bfs; 代码实现 #include <vector> #include <climits> // For INT_MAX #include <algorithm> // For minclass Solution { public:int…

C#下Httpclient post请求获取令牌

1.postman测试ok 2.C#代码 public static async Task<string> testGetToken(string URL, string param){string responseBody "eee";//using (var clientHandler new HttpClientHandler()){ var handler new HttpClientHandler();handler.ServerCertificat…

响应实践!赛宁网安亮相第二届全国先进技术成果转化大会

4月8日&#xff0c;第二届全国先进技术成果转化大会&#xff08;以下简称“大会”&#xff09;在苏州隆重举行。大会由江苏省国防科学技术工业办公室、苏州市人民政府、先进技术成果长三角转化中心主办。赛宁网安作为全球一流数字孪生靶场服务商&#xff0c;携数字孪生靶场、网…

element-ui的按需引入报错解决:MoudleBuildFailed,完整引入和按需引入

官网&#xff1a; Element - The worlds most popular Vue UI framework 1.完整引入 &#xff08;1&#xff09;下载&#xff1a; npm i element-ui -S &#xff08;2&#xff09;引入&#xff1a; 在 main.js 中写入以下内容&#xff1a; import Vue from vue; impor…

Linux进阶篇:centos7扩展root分区:LVM应用案例

centos7扩展root分区&#xff1a;LVM应用案例 当服务器根分区或者是root分区存储空间快用完的时候&#xff0c;并且重要的数据都在root分区下&#xff0c;当如何应对&#xff0c;没关系坐好&#xff0c;分分钟解决它&#xff0c;我们可以进行分区扩容。 一 添加一块新的硬盘 …

鸿蒙应用开发之图案密码锁组件

前面学习了导航组件,现在来学习另一个密码设置和验证组件,这种组件比较常用。因为当用触屏手机之后,屏幕上就可以滑动操作,比普通PC电脑要多一些功能了。早前的密码都是输入数字,没有滑动输入九宫格的密码。 大体如下面的界面: 采用这种密码,一般情况下是不用记住数字,…

汇编——SSE打包整数

SSE也可以进行整数向量的加法&#xff0c;示例如下&#xff1a; ;sse_integer.asm extern printfsection .datadummy db 13 align 16pdivector1 dd 1dd 2dd 3dd 4pdivector2 dd 5dd 6dd 7dd 8fmt1 db "Packed Integer Vector 1: %d, %d, %d, %d",…

【鹅厂摸鱼日记(二)】(生活篇)初到深圳的人情冷暖

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:重生之我在鹅厂摸鱼⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多知识   &#x1f51d;&#x1f51d; 摸鱼日记 1. 前言2. 鹅厂的人文关怀…

论文笔记:NEFTune: Noisy Embeddings Improve Instruction Finetuning

iclr 2024 reviewer 评分 5666 1 论文思路 论文的原理很简单&#xff1a;在finetune过程的词向量中引入一些均匀分布的噪声即可明显地提升模型的表现 2 方法评估

2024年第二届交通运输与建筑工程国际会议(IACTCE2024)

2024年第二届交通运输与建筑工程国际会议&#xff08;IACTCE2024&#xff09; 会议简介 本次会议旨在为从事交通建设工程等相关领域的专家学者、工程技术人员和研发人员提供一个平台&#xff0c;分享科研成果和前沿技术&#xff0c;了解学术发展趋势&#xff0c;拓宽研究思路…

docker 安装canal

一、新建文件夹 新建文件夹logs, 新建文件canal.properties instance.properties docker.compose.yml canal.propertie 修改如下&#xff1a; 修改instance.properties内容如下 1.1 canal.properties ################################################# ######### …

算法刷题应用知识补充---数论

这里写目录标题 快速幂求a^k%p题结 快速幂求逆元题结 扩展欧几里得求逆元题结 排列组合题结二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 快速幂求a^k%p 题 结 主要用到a的k次方&#xff0c;可以用多个a的…

fastadmin + laragon + nginx的后台访问路径配置

使用过fastadmin的小朋友都知道&#xff0c; fastadmin 默认的是不能访问admin模块的&#xff0c; 它在public 文件夹中又新建了一个 XXX.php 来指向 admin 模块的&#xff0c;作用像 index.php 的文件 以前我每次使用的时候&#xff0c;直接就到 config配置文件中把 admin 模块…

String类(1)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

CC工具箱使用指南:【融合同类碎图斑】

一、简介 在一些经过不合理处理的数据中&#xff0c;经常会存在碎图斑&#xff0c;正常情况下用【融合】或【消除】工具即可解决。 但是【融合】工具会融掉无关的字段&#xff0c;【消除】工具则会将碎图斑融给不同用地类型的图斑。 如下图所示&#xff0c;因为B1面积更大&a…

蓝桥杯嵌入式(G431)备赛笔记——PWM+LCD+按键

目录 题目要求&#xff08;真题&#xff09;&#xff1a; cubeMX配置&#xff1a; 小试牛刀&#xff1a; Keil代码&#xff1a; 效果演示&#xff1a; 题目要求&#xff08;真题&#xff09;&#xff1a; 使用第十一届第二场真题&#xff0c;练习PWM波部分的代码&#xff0c…

德国FSL18罗德与施瓦茨频谱分析仪

181/2461/8938产品概述&#xff1a; 频率范围:9 kHz至18 GHz&#xff08;超范围至20 GHz&#xff09;频率分辨率:1赫兹28 MHz的信号分析带宽低测量不确定性&#xff0c;即使在微波范围内通用测量应用&#xff0c;例如光谱图轻巧紧凑&#xff0c;便于现场安装、维护和服务 9 kH…

什么是企业邮箱?企业邮箱和个人邮箱的区别是什么?

拥有一个企业邮箱究竟能给公司带什么益处&#xff1f;这是许多中小企业管理者好奇的&#xff0c;很多人觉得邮箱只要用来收发邮件就够了。但实际上&#xff0c;什么是企业邮箱&#xff1f;企业邮箱和个人邮箱在功能范围有着很大的区别。好的企业邮箱不仅能提高公司内部的沟通效…