Advertisement

【最全合集】2022、2023年全国青少年信息素养大赛Python初赛、省赛、国赛详细解析

阅读量:

一、2022年省赛解析

第1题-分草莓

小明叫上了几个朋友一起野餐,并将一盒草莓均分给这几个朋友分享。他让任意输入一个数字n,并计算每人能获得多少颗草莓,并告知剩余的草莓数量。

注意:

input()内不添加任何参数

仅当完全正确时才允许提交。如果无法进行提交操作,则表明答题存在错误。可通过及时检查并进行相应的修改来解决这个问题。

输入样例:

28

输出样例::

5

3

[参考代码]:

复制代码
    # 将字符数字转成整数``n = int(input())``# 使用 //和 %运算符``print(n // 5)``print(n % 5)

第2题-商店结算

商店为铅笔促销活动制定了销售规则:即日起至活动结束期间,在本店购买不超过8支铅笔时(包括8支),单支价格定为0.8元;若一次性购买超过8支,则超出的部分将享受折扣政策单支价格降至0.7元。无论您今天想采购多少数量的铅笔(以n表示),请告知收银员后系统将自动为您计算总价并完成支付操作

注意:

input()内不添加任何参数

仅当完全正确时才允许提交。如果无法完成提交操作,则表明答题过程中出现了错误。应立即进行检查并修正错误。

输入样例:

11

输出样例:

8.5

[参考代码]:

复制代码
    # 将字符数字转成整数``n = int(input())``# 分两种情况进行计算``if n <= 8:`    `print(n * 0.8)``else:`    `print( 8 * 0.8 + (n - 8) * 0.7 )

第3题-数位输出

输入一个正整数值n,请执行以下操作:若n为四位数,请分别提取并输出该数千位数字、百位数字、十位数字以及个位数字;若n为两位数,请仅提取并输出该数值的个位数字;否则(既不是两位也不是四位),则输出no。

注意:

input()内不添加任何参数

仅仅完成'完美无缺'的验证程序后才能方能完成提交流程。当无法执行提交操作时,请注意此提示信息将被用来评估您的回答是否存在问题。建议用户立即检查答案并进行必要的修改以解决问题。

输入样例1:

2345

输出样例:

2

3

4

5

输入样例2:

23

输出样例:

3

输入样例3:

666

输出样例:

no

[参考代码]:

复制代码
    n = input()``if len(n) == 2:`    `print(n[-1])``elif len(n) == 4:`    `print(n[0],n[1],n[2],n[3],sep="\n")``else:`    `print("no")

在Python编程过程中,打印函数能够显示多个信息项,默认情况下以空格分隔。若希望采用其他分隔符,则可通过关键字参数sep进行设置。\n是转义字符,在文本中表示行末。

第4题-打印星号

给定任意整数n,请生成由n行组成的图案。每行应包含数字、空格和星号,并确保星号后不跟空格。

注意:

input()内不添加任何参数

仅在完全正确的情况下才能提交。如果无法点击提交,则表明题目有误,请立即检查并修正问题以便重新尝试。

输入样例:

5

输出样例:

0*********

1 *******

2 *****

3 ***

4 *

[参考代码]:

复制代码
    n = int(input())``for i in range(n):`    `print(i," " * i, "*" * (2 * (n - i) - 1), sep="")

当得知无法直接调用Python中的某些库函数时

复制代码
    for i in range(n):`    `# 输出数字`    `print(i,end="")`    `# 输出空格`    `for j in range(i):`        `print(" ",end="")`    `# 输出*`    `for j in range(0,2 * (n - i) - 1):`        `print("*",end="")`    `# 换行`    `print()

第5题-缺憾数

定义为:缺憾数即指这个数增加1后等于某个整数的平方。例如8和99都是缺憾数。

8 + 1 = 3 ^ 2

99 + 1 = 10 ^ 2

给定任意两个正整数m和n,请生成其中的每一个数字m和n所对应的缺憾数序列

注意:

input()内不添加任何参数

输入样例:

48

10

输出样例:

15

24

35

[参考代码]:

复制代码
    m = int(input())``n = int(input())``   ``for i in range(min(m,n), max(m,n)):`    `# 计算开方数,并转成整数`    `a = (i + 1) ** 0.5`    `# 将a转成整数`    `a  = int(a)`    `if i + 1 == a ** 2:`        `# 输出数字`        `print(i)

若无掌握**运算,则可采用循环逐一进行判断;相较而言,代码将会稍显复杂。

第6题-队列练习

学生们正在进行队列训练。从第一位同学开始按照编号1、2、…、n(其中n<1000)依次报数。最初所有人都面向前方,在第一次报数时所有2的倍数的同学向后转一次;随后在第二次报数时所有3的倍数的同学向后转一次;接着在第三次报数时所有5的倍数的同学再次向后转一次。给定人数n,请输出最终仍然保持面向前方的同学的编号序列

注意:

input()内不添加任何参数

仅当完全正确时才允许提交;如果无法进行提交操作,则表明答题存在错误。可以在发现错误后及时采取措施进行检查与修正。

输入样例:

10

输出样例:

1

6

7

10

[参考代码]:

复制代码
    # 获取输入,并转成整数``n = int(input())``# 初始化列表,默认都是-1,表示向前``direction = [-1] * n``# 第1遍报数,注意报数是从1开始的``for i in range(n):`    `if (i + 1) % 2 == 0:`        `direction[i]  = 1``# 第2遍报数``for i in range(n):`    `if (i + 1) % 3 == 0:`        `direction[i] *= -1``# 第3遍报数``for i in range(n):`    `if (i + 1) % 5 == 0:`        `direction[i] *= -1``   ``# 输出值为-1是列表项``for i in range(n):`    `if direction[i] == -1:`        `print(i + 1)

二、2022年国赛解析

01-分苹果

将一堆苹果分配给n个孩子,并且保证每位孩子得到的苹果数量各不相同的同时每位孩子最少有一个。无论输入多少孩子数量,请问求这堆苹果最少需要多少个?在本题中,请您详细说明以下两个部分的内容:第一部分为"input description"即"输入部分说明";第二部分为"output description"即"输出部分说明"

样例输入:

3

样例输出:

6

注意:

input()内不添加任何参数;

仅当完全正确时才允许提交;如果无法点击提交,则表明答题存在错误;建议及时检查并修正错误。

参考答案

02-韩信点兵

传记亦称中国剩余定理

指定一个数值n(其中 )表示刘邦拥有的军队规模;然后估算韩信能够控制的最大人数,并后依次显示这些数值。

输入描述:输入任意一个数字n(0<=n<=10000)表示刘邦总共的兵力

输出描述:计算韩信可能统御的士兵数量并依次输出,每行一个,从小到大

样例输入:500

样例输出:

104

209

314

419

请确保您在使用input函数时避免在括号中添加多余参数;仅当答案完全正确时才允许系统进行提交;如果出现无法执行操作的情况,请立即检查并修正相关内容

【参考答案】本题直接用枚举法,求出同时满足3个条件的整数即可。

03-借书问题

小明家中收藏了丰富多样的趣味读物。这些书各有特色,在众多藏书爱好者中独树一帜。共有三名好友每人可借阅一本(同一本书不可同时借给两人)。为了满足他们的阅读需求,请根据输入的书籍数量n(其中n的取值范围为3到100),计算从所有书籍中选取三本并分配给这三人共有多少种不同的组合方式。输入说明:

任意输入书籍的数量n(3<=n<=100)

输出描述:

输出在所有的书籍中,找3本书给3个人有多少种不同的排列组合方法

样例输入:

3

样例输出:

6

注意:

input()内不添加任何参数

仅当答案完美无缺时才可提交;如果无法点击提交,则表明答题存在错误,并建议及时检查并进行修改

参考答案

04-四位数密码

情报员负责采用4位数字传递信息,并且为了确保信息安全不被泄露,在传输过程中必须对这些数字进行加密处理。数据加密的规则是:...

情报员负责采用4位数字传递信息,并且为了确保信息安全不被泄露,在传输过程中必须对这些数字进行加密处理。数据加密的规则是:...

1). 每个数字都进行如下处理:该数字加上5之后除以10的余数,替换原数字;

执行处理后的第一位和第三位数字的互换,并对第二位和第四位之间的位置进行调整。

3). 现在任意输入一个四位数n(1000 <= n <= 9999),输出加密之后的数字。

输入描述:

一个四位数

输出描述:

加密后的四位数

样例输入:

1234

样例输出:

8967

注意:

input()内不添加任何参数

只有在完全正确的情况下才能提交;若无法点击提交,则表明答题存在错误,并可通过及时检查与修改来解决问题。

参考答案

05-邮票面值

每当书写书信时都需要贴上邮票,在邮政部门里出售一些不同面值的小额邮票。通过其中一张或几张的不同组合使用方式来满足各种邮件所需的不同的邮资费用。

给定任意一个整数n表示不同种类的数量,请依次输入n个具体的数值作为各类邮 stamp的不同面额;每封信最多允许粘贴5枚普通 mail stamp,并且至少需提供3种不同的普通 mail stamp类型;通过计算确定每封信能够组合出的最大可能总金额

输入描述:

第一行输入一个数字n代表邮票的种类;

然后依次输入n行数字代表n个不同种类的邮票面值;

输出描述:

输出每个信封上可以构成的邮资的最大值。

样例输入:

4

1

2

3

4

样例输出:

17

参考答案

06-组合取球

一个箱子里面存放着50个球,其中10个红色,10个黄色,30个蓝色。

当我们从箱子里取出n个球时,统计不同颜色球的数量组合的可能性种类数是多少?

输入描述:

一个数字n

输出描述:

一个数字,可能的组合总数

样例输入:

2

样例输出:

6

参考答案

07-统计连续字符

给定一个字符串s和一个整数n,请描述如何计算满足条件的所有不同字符的数量,并将结果返回

例如输入abbcccdddd,输入2,字符串中连续出现2次的字符包括b、c、d这3种。

输入描述:

第一行一个字符串(保证有连续的n个字符)

第二行一个数字n

输出描述:

符合要求的字符数量

样例输入:

abbcccdddd

2

样例输出:

3

参考答案

08-n的n次方

当数值的位数达到几十位甚至更多时,在计算机中完成这样的计算任务不再仅靠基本算术运算就能完成。然而,在编程过程中对这类高精度数值进行运算仍然是一个不可少的部分。

给定一个整数n(满足10^{5}),求其连乘积的结果,并确定其末尾三位数是多少。

输入描述:

―个数字n (99999 < n < 999999)

输出描述:

计算n的n次方(即连续n个n相乘)之后,最后的3位数字是多少

样例输入:

123456

样例输出:

856

参考答案

09-海盗搜身

一群渔民被海盗抓到后按照顺序坐在编号从1到n的一系列木椅上,并有一个人身上携带了藏宝图。

为了寻找那个装载着宝藏的渔夫, 海盗首先在1号凳子上进行搜查. 若未发现, 则跳过相邻的一个凳子, 接着在3号凳子上实施搜查. 如果仍然未能找到, 他们则会继续隔两个凳子进行检查, 最后在6号凳子上展开搜索.

以后每次每隔几米去搜索……这样持续下去进行了100次查找仍未能找到,最终选择未将渔民放走。

给定任意整数n(5 ≤ n ≤ 20),该值表示渔民的总数。我们需要列出未被搜查的渔民编号

输入描述:

任意输入一个数字n(5 <= n <= 20)代表渔民的数量

输出描述:

依次输出哪些编号的渔民不会被搜身,每行一个

样例输入:

10

样例输出:

2

4

7

9

参考答案

参考答案

10-父与子

学校组织了一次亲子运动会,在现场所有的父亲被分组为一个团队与孩子们组成另一个团队共同参与比赛。根据比赛规则规定:在比赛中开始时必须由父亲队派出一人先入场后方能允许孩子队派遣一人入场。假设每队有三名成员,则共有五种可能的入场次序安排方案:

父父父子子子

父父子子父子

父父子父子子

父子父父子子

父子父子父子

任意输入父子的对数n(3<=n<=15),计算并输出有多少种出场策略

注意:input()内不添加任何参数

只有在完全正确的前提下才能提交;如果未能成功点击提交,则表明答案存在错误;此时应立即进行检查并予以修正

【输入样例】

3

【输出样例】

5

参考答案

三、2023年北京赛区复赛真题

四、2023年海南赛区复赛真题

思路

五、2023年初赛真题

关于Python学习指南

掌握 Python 无论怎样都是实现就业或副业致富的有效途径。不过想要掌握 Python 却需要制定一个系统的学习规划哦!作为赠礼,我整理了一份完整的 Python 学习资料库,分享给那些渴望提升自我技能的朋友们。

涵盖:包括但不限于 Python 激活码及安装软件、网络技术开发(如网页编程)、网络爬虫技术、数据分析技术以及人工智能应用等学习资源。帮助新手从零基础系统掌握 Python 技术!

👉Python所有方向的学习路线👈

Python在各个方向上的学习路径本质上是将常用的技能点进行系统性地整理与归纳,并通过这些核心知识点构建起涵盖各领域核心知识点的完整体系。这一策略的主要作用在于帮助学习者能够通过系统化的知识点查找相应的学习资料,并且能够根据自己的掌握情况有条不紊地推进学习进程。从而确保了学习内容的全面覆盖与深入理解。全套教程文末领取

在这里插入图片描述

👉Python学习视频600合集👈

学习初级阶段的相关课程。通过网络平台提供的教学内容进行系统化地学习这种方式效率高且效果显著。跟随指导教师的讲解逐步掌握基础知识并深入理解专业知识相对容易。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论似乎并没有实质性的价值;必须亲自参与实践操作;为了能够将所学知识应用到实践中;这时候可以通过实际案例来进行学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python主要是为了找到高薪工作。这些试题源自阿里、腾讯、字节等一线互联网大厂 的最新面试资料,并获得了阿里资深专家的权威解析。通过系统学习和充分准备后相信各位求职者一定能获得理想中的职位

在这里插入图片描述
在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 无论是就业还是副业都大有裨益但要想承接业务还需做好个人规划

在这里插入图片描述

保证100%免费

保证100%免费

保证100%免费

保证100%免费

全部评论 (0)

还没有任何评论哟~