判断数字范围-第13届蓝桥杯选拔赛Python真题精选

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

判断数字范围,本题是2021年8月14日举办的第13届蓝桥杯青少组Python编程选拔赛真题,题目要求编程判断数字n是否在m1和m2之间,相应的输出"Y"或者"N"。

先来看看题目的要求吧。

01
题目说明 

编程实现:

首先给定两个数字m1和m2,然后再给定一个数字n,判断n是否在m1和m2之间,如果n在m1和m2之间则输出大写字母"Y",否则输出大写字母"N"

输入描述:

第一行输入两个数字m1,m2(m1 < m2且m1,m2可以为整数或者小数),两数字之间以一个英文逗号隔开

第二行输入一个数字n

输出描述:

如果n在m1到m2之间(不含m1和m2),输出大写字母“Y",否则输出大写字母“N"

样例输入:

1,8

6

样例输出:

Y
02
思路分析 

这是一道简单的语法题,考查的知识点包括类型转换、条件语句和连续比较运算。

题目意思非常简单,需要注意的是三个数字m1、m2和n可以为整数,也可以为小数,最好是将它们都转成浮点类型。
在比较的时候,要确保m1 < n,并且 n < m2,这是两个比较运算,通常情况下使用逻辑与运算and,如下:
m1 < n and n < m2

实际上,还有一个更简单的写法,如下:

m1 < n < m2

这是Python编程独有的特性,通常称作连续比较,或者链式比较。它允许我们在一个表达式中执行多个比较操作,并将它们连接在一起。

连续比较运算的基本形式是使用比较运算符(<、<=、>、>=)来连接两个或多个表达式。Python会按照从左到右的顺序执行这些比较操作,并根据每个比较的结果来确定整个表达式的最终结果True 或 False

思路有了,接下来,我们就进入具体的编程实现环节
03
编程实现 
根据上面的思路分析,我们编写程序如下:

代码比较简单,说明两点:

1). 在获取m1和m2时,使用了map()函数,它接受两个参数,第一个参数是函数,第二个参数是可迭代对象(如列表、元组、字符串等),结果返回新的迭代器对象,只不过每个元素都被函数处理过;

2). split()函数返回的是一个列表,经过map()处理后,列表中的元素都转成了浮点类型,这里使用了解包运算,将列表中的两个元素分别赋值给m1和m2。

至此,整个程序就全部完成了,你也可以输入不同的数字来测试效果。
04
总结与思考 
本题代码在6行左右,涉及到的知识点包括:
  • 条件语句;

  • 类型转换;

  • 连续比较运算;

  • 输入处理;

本题非常简单,关键点有两个,一是类型转换,将输入的数字都转换浮点数,二是使用连续比较运算简化代码。

Python语言的特点就是简单优雅,它鼓励我们使用简短而富有表达力的代码,而不是冗长而复杂的代码。

比如这里的连续比较运算、解包操作都体现了Python的简洁性,可读性也非常强。

在简单优雅的情况下,Python是如何确保其强大性呢,这得归功于大量的内置函数和丰富多彩的库函数。

因此,我们在学习Python时,要熟练运用这些常见的函数,避免重复造轮子,把重心放在如何解决问题上,从而提高编程效率。

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

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

需要源码的,可以添加本人微信

另外,超平老师创建了一个蓝桥杯备考交流群,这是专门为老师和家长打造的免费社群,您可以与来自全国各地的老师、家长共同交流经验,分享学习心得。

超平老师也会给大家带来及时的赛事动态,备考攻略,真题资源分享,帮助各位更好备考第15届蓝桥杯赛事,力争取得优异的成绩。

扫码或长按加入微信群

超平的编程课
青少儿编程教育专家,中国人民大学硕士,大学讲师,曾任知名上市机构金牌讲师,16年编程教研经验。大耳猴少儿编程联合创始人,致力于通过编程教育提升孩子的逻辑思维、数学思维和计算思维,迎接AI时代。
 最新文章