十四届蓝桥杯STEMA考试Python真题试卷第二套第二题

来源:十四届蓝桥杯STEMA考试Python真题试卷第二套 编程第二题。虽然不建议,但是我们还是给出一行代码的实现,以展现Python的简洁。

题目描述:

空调遥控器上的模式按钮可控制四种模式的切换。空调的初始模式为制热模式,第一次按下按钮变为制冷模式,第二次按下按钮变为睡眠模式,第三次按下按钮变为除湿模式,第四次按下按钮变为制热模式,第五次按下按钮变为制冷模式,以此类推。请计算出按下 N 次按钮后,空调为何种模式。

输入描述:

输入一个正整数 N(1<N<1000),表示按下空调遥控器的模式按钮的次数(初始模式为制热模式)

输出描述:

输出一个大写字母,当按下模式按钮 N 次后,空调为制热模式则输出"R",为制冷模式则输出"L",为睡眠模式则输出"S",为除湿模式则输出"C"。

样例输入:

5

样例输出:

L

参考答案:

python 复制代码
def get_ac_mode(n):
    # 定义模式序列(R-制热,L-制冷,S-睡眠,C-除湿)
    modes = ['R', 'L', 'S', 'C']
    
    # 由于模式是循环的,我们可以使用取余运算
    # n-1是因为我们要从初始状态开始计算
    # 初始状态是R,按一次变L,所以要减1
    mode_index = n % len(modes)
    
    return modes[mode_index]

def main():
    # 读取按键次数N
    n = int(input())
    
    # 获取并输出最终模式
    result = get_ac_mode(n)
    print(result)

if __name__ == "__main__":
    main()

代码说明:

这个程序的工作原理是:

  1. 使用列表存储四种模式:'R'(制热)、'L'(制冷)、'S'(睡眠)、'C'(除湿)
  2. 使用取余运算来处理循环模式

使用示例:

复制代码
输入:5
输出:L

解释过程:

  1. 初始状态为制热®
  2. 第1次按:制冷(L)
  3. 第2次按:睡眠(S)
  4. 第3次按:除湿©
  5. 第4次按:制热®
  6. 第5次按:制冷(L)

当输入N=5时,经过5次按键后,空调处于制冷模式,所以输出"L"。

需要注意的是:

  • 输入N必须是正整数
  • 程序已经考虑了循环性,可以处理任意小于1000的正整数
  • 输出为对应模式的大写字母

这个解决方案即使输入很大的数字也能快速计算出结果,因为使用了取余运算来处理循环。

让我们再尝试写一个一行代码的实现方式,来展示一下Python语言"简洁"的魅力:

python 复制代码
print(['R', 'L', 'S', 'C'][int(input()) % 4])

这行代码完成了相同的功能,解释一下:

  1. input() 读取输入的数字
  2. int() 将输入转换为整数
  3. -1 因为是从初始状态开始计算
  4. % 4 对4取余来处理循环
  5. 用得到的余数作为索引从列表 ['R', 'L', 'S', 'C'] 中获取对应的模式
  6. print() 输出结果

这种写法虽然简洁,但相比之前的完整实现可能不太容易理解和维护。建议在实际项目中使用更清晰的多行实现方式。

相关推荐
承渊政道23 分钟前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛23 分钟前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
imgsq37 分钟前
GESP Python 一到四级:备考路线与真题特点
python·青少年编程
eggwyw2 小时前
Anaconda安装卸载的详细流程指南
开发语言·python
2601_967979122 小时前
纯手写:Python安装pip完整教程,搞了几小时,终于成功
python·教程·pip·安装·包管理
Norna3 小时前
缓存文件从没写出来:一个 .json 被当成目录用了
python
aifannihao5 小时前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
yuyuxun16 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
如夏倾城6 小时前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo