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

news/2024/5/3 21:17:40/文章来源:https://blog.csdn.net/diamondwang2012/article/details/137594941

[导读]:超平老师的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.luyixian.cn/news_show_1045931.aspx

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

相关文章

STM32 H7系列学习笔记

必备的API知识 第 1 步:系统上电复位,进入启动文件 startup_stm32h743xx.s,在这个文件里面执行复位中断服务程序。 在复位中断服务程序里面执行函数 SystemInit,在system_stm32h7xx.c 里面。*之后是调用编译器封装好的函数&…

Kubesphere 在 devops 部署项目的时候下载 maven 依赖卡住

Kubesphere 在 devops 部署项目的时候下载 maven 依赖卡住 我下载 下面这段 maven 依赖一直卡住&#xff1a; <build><plugins><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>…

LeetCode 80—— 删除有序数组中的重复项 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 让 index指向删除重复元素后数组的新长度&#xff1b;让 st_idx 指向重复元素的起始位置&#xff0c;而 i 指向重复元素的结束位置&#xff0c;duplicate_num代表重复元素的个数&#xff1b;一段重复元素结束后&am…

Java Web-分层解耦

三层架构 当我们所有代码都写在一起时&#xff0c;代码的复用性差&#xff0c;并且难以维护。就像我们要修改一下服务端获取数据的方式&#xff0c;从文本文档获取改为到数据库中获取&#xff0c;就难以修改&#xff0c;而使用三层架构能很好的解决这个问题。 controller: 控…

PHP 中的 $2y$10,PHP 字符串加密函数 password_hash

PHP 用户密码加密函数 password_hash 自PHP5.5.0之后&#xff0c;新增加了密码散列算法函数(password_hash)&#xff0c;password_hash() 使用足够强度的单向散列算法创建密码的散列 Hash。 password_hash() 兼容 crypt()。 所以&#xff0c; crypt() 创建的密码散列也可用于 …

flask 访问404

当你的项目有自己的蓝图&#xff0c;有添加自己的前缀&#xff0c;也注册了蓝图。 在访问的路由那里也使用了自己的蓝图&#xff0c;如下图 然后你访问的地址也没问题&#xff0c;但是不管怎么样访问就是返回404&#xff0c;这个时候不要怀疑你上面的哪里配置错误&#xff0c;…

【网站项目】校园二手交易平台小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

外包干了25天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…

【mT5多语言翻译】之五——训练:中央日志、训练可视化、PEFT微调

请参考本系列目录&#xff1a;【mT5多语言翻译】之一——实战项目总览 [1] 模型训练与验证 在上一篇实战博客中&#xff0c;我们讲解了访问数据集中每个batch数据的方法。接下来我们介绍如何训练mT5模型进行多语言翻译微调。 首先加载模型&#xff0c;并把模型设置为训练状态&a…

网络安全指南:安全访问 Facebook 的技巧

在当今数字化时代&#xff0c;网络安全问题越来越受到人们的关注。尤其是在社交媒体平台上&#xff0c;如 Facebook 这样的巨头&#xff0c;用户的个人信息和隐私更容易受到威胁。为了保护自己的在线安全&#xff0c;我们需要采取一些措施来确保在使用 Facebook 时能够安全可靠…

C语言进阶|顺序表

✈顺序表的概念及结构 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串.. 线性表在逻辑上是线性结构&#xff0c;也就说是连…

大话设计模式——23.备忘录模式(Memento Pattern)

简介 又称快照模式&#xff0c;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并且该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态 UML图 应用场景 允许用户取消不确定或者错误的操作&#xff0c;能够恢复到原先的状态游戏存档、…

深度学习架构(CNN、RNN、GAN、Transformers、编码器-解码器架构)的友好介绍。

一、说明 本博客旨在对涉及卷积神经网络 &#xff08;CNN&#xff09;、递归神经网络 &#xff08;RNN&#xff09;、生成对抗网络 &#xff08;GAN&#xff09;、转换器和编码器-解码器架构的深度学习架构进行友好介绍。让我们开始吧&#xff01;&#xff01; 二、卷积神经网络…

【动手学深度学习】15_汉诺塔问题

注&#xff1a; 本系列仅为个人学习笔记&#xff0c;学习内容为《算法小讲堂》&#xff08;视频传送门&#xff09;&#xff0c;通俗易懂适合编程入门小白&#xff0c;需要具备python语言基础&#xff0c;本人小白&#xff0c;如内容有误感谢您的批评指正 汉诺塔&#xff08;To…

c/c++ |游戏后端开发之skynet

作者眼中的skynet 有一点要说明的是&#xff0c;云风至始也没有公开说skynet专门为游戏开发&#xff0c;换句话&#xff0c;skynet 引擎也可以用于web 开发 贴贴我的笔记 skynet 核心解决什么问题 愿景&#xff1a;游戏服务器能够充分利用多核优势&#xff0c;将不同的业务放在…

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

QT Creator概览

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、Qt Creator 概览 ①&#xff1a;菜单栏 ②&#xff1a;模式选择 ③&#xff1a;构建套件选择器…

在图片上画出mask和pred

画出论文中《Variance-aware attention U-Net for multi-organ segmentation》的图1&#xff0c;也就是在原图上画出mask和pred的位置。 新建一个文件夹 然后运行代码&#xff1a; import cv2 import os from os.path import splitext####第一次&#xff1a;把GT&#xff08…

天书奇谈_源码_搭建架设_3D最新天启版_自带假人

本教程仅限学习使用&#xff0c;禁止商用&#xff0c;一切后果与本人无关&#xff0c;此声明具有法律效应&#xff01;&#xff01;&#xff01;&#xff01; 一. 效果演示 天书奇谈_源码_搭建架设 环境&#xff1a; centos7.6 &#xff0c; 放开所有端口 源码获取 https://…

Unity Pro 2019 for Mac:专业级游戏引擎,助力创意无限延伸!

Unity Pro 2019是一款功能强大的游戏开发引擎&#xff0c;其特点主要体现在以下几个方面&#xff1a; 强大的渲染技术&#xff1a;Unity Pro 2019采用了新的渲染技术&#xff0c;包括脚本化渲染流水线&#xff0c;能够轻松自定义渲染管线&#xff0c;通过C#代码和材料材质&…