判断数字范围,本题是2021年8月14日举办的第13届蓝桥杯青少组Python编程选拔赛真题,题目要求编程判断数字n是否在m1和m2之间,相应的输出"Y"或者"N"。
先来看看题目的要求吧。
编程实现:
首先给定两个数字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
样例输出:
这是一道简单的语法题,考查的知识点包括类型转换、条件语句和连续比较运算。
m1 < n and n < m2
实际上,还有一个更简单的写法,如下:
m1 < n < m2
这是Python编程独有的特性,通常称作连续比较,或者链式比较。它允许我们在一个表达式中执行多个比较操作,并将它们连接在一起。
连续比较运算的基本形式是使用比较运算符(<、<=、>、>=)来连接两个或多个表达式。Python会按照从左到右的顺序执行这些比较操作,并根据每个比较的结果来确定整个表达式的最终结果(True 或 False)。
代码比较简单,说明两点:
1). 在获取m1和m2时,使用了map()函数,它接受两个参数,第一个参数是函数,第二个参数是可迭代对象(如列表、元组、字符串等),结果返回新的迭代器对象,只不过每个元素都被函数处理过;
2). split()函数返回的是一个列表,经过map()处理后,列表中的元素都转成了浮点类型,这里使用了解包运算,将列表中的两个元素分别赋值给m1和m2。
条件语句;
类型转换;
连续比较运算;
输入处理;
本题非常简单,关键点有两个,一是类型转换,将输入的数字都转换浮点数,二是使用连续比较运算简化代码。
Python语言的特点就是简单优雅,它鼓励我们使用简短而富有表达力的代码,而不是冗长而复杂的代码。
比如这里的连续比较运算、解包操作都体现了Python的简洁性,可读性也非常强。
在简单优雅的情况下,Python是如何确保其强大性呢,这得归功于大量的内置函数和丰富多彩的库函数。
因此,我们在学习Python时,要熟练运用这些常见的函数,避免重复造轮子,把重心放在如何解决问题上,从而提高编程效率。
你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。
需要源码的,可以添加本人微信。
另外,超平老师创建了一个蓝桥杯备考交流群,这是专门为老师和家长打造的免费社群,您可以与来自全国各地的老师、家长共同交流经验,分享学习心得。
超平老师也会给大家带来及时的赛事动态,备考攻略,真题资源分享,帮助各位更好地备考第15届蓝桥杯赛事,力争取得优异的成绩。
扫码或长按加入微信群