当前位置:首页>python>【第36期】21天养成编程习惯:Python刷题第14天

【第36期】21天养成编程习惯:Python刷题第14天

  • 2026-08-26 03:13:00
【第36期】21天养成编程习惯:Python刷题第14天

跟老马一起“升级打怪”学编程!

  • 涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试
  • 活动内容:提供不同等级的真题供小朋友们选择练习
  • 备考建议:根据自己备考的等级选择相应题目
  • 附加价值:可作为白名单比赛的备考训练
  • 本月打卡:本月CIE_Python打卡题目

Day14:CIE一级2022.06_编程题36

“天狗吃月亮”是一个古老的神话,以前古人不了解月食这一现象,所以说月亮被狗吃了,天狗吃月亮是古人对“月食”这一天文现象的简称。月食是自然界的一种现象,当太阳、地球、月球三者恰好或几乎在同一条直线上时(地球在太阳和月球之间),太阳到月球的光线便会部分或完全地被地球遮挡,产生月食。请你设计一段程序完成下列图片的月食现象。

要求:

(1)海龟的初始位置的坐标为(0,0),月食现象的图片需在整个画布中完整呈现;

(2)月食现象由两个圆或点组成,分别为半径不同的黄色和白色的圆或点;

(3)绘制半径为150的圆或点,并填充颜色为黄色,该图形的中心位置为画布的正中心位置(0,0);

(4)绘制半径为75的圆或点,并填充颜色为白色,该图形的中心位置坐标为(150,0)。

参考程序:

注意:仅供参考,考生可以自行设计,结果符合题意即可。

方法一:

import turtleturtle.pencolor('yellow')turtle.dot(300)turtle.pencolor('white')turtle.penup()turtle.goto(150, 0)turtle.pendown()turtle.dot(150)turtle.done()

方法二:

import turtleturtle.penup()turtle.goto(0, -150)turtle.pendown()turtle.color('yellow')turtle.begin_fill()turtle.circle(150)turtle.end_fill()turtle.penup()turtle.goto(150, -75)turtle.pendown()turtle.color('white')turtle.begin_fill()turtle.circle(75)turtle.end_fill()turtle.done()

Day14:CIE二级2023.05_统计语句中指定字符的个数

要求:

(1)统计的语句为:Were you born on August 21, 1994

(2)要求使用条件语句,统计该句中所有英文字母、数字的个数的和(不包括空格、逗号等标点符号);

(3)输出一个整数,表示所有英文字母和数字的个数的和。

参考程序:

s = 'Were you born on August 21, 1994'count = 0for i in s:if ('0' <= i <= '9') or ('a' <= i <= 'z') or ('A' <= i <= 'Z'):        count += 1print(count)

Day14:CIE三级2022.09_编程题38

标准考试答题卡一般采用2B铅笔填涂,填涂好的答题卡经过扫描后得到相应的数字化图像,再通过光学识别,完成答题卡信息数据的采集、分析与统计。

计算机判断答题卡中信息点被填涂的标准是灰度值小于132为黑色,灰度值大于等于132为白色。灰度值计算公式:灰度值 = 0.299 × 红色分量(R)+ 0.587 × 绿色分量(G)+ 0.114 × 蓝色分量(B),若分别输入 n 个信息点的RGB颜色值,则其判断程序如下:

n = int(input("请输入信息点个数:"))count = 0for i in range(1, n + 1):    R = int(input("请输入红色分量:"))    __①___    B = int(input("请输入蓝色分量:"))    Gray_scale = __②___if __③___:        print("黑色")        count = count + 1else:        print("白色")print("黑色像素总共有:" + __④___ +"个")

参考答案:

① G = int(input("请输入绿色分量:")) 或等效答案;

② 0.299 * R + 0.587 * G + 0.114 * B 或等效答案;

③ Gray_scale < 132 或等效答案;

④ str(count) 或等效答案。


Day14:CIE四级2023.03_第38题

商超采用会员制,客户的消费信息如会员号、姓名和积分如下表所示,小方的爸爸想编写一个客户信息管理系统,其中有一个功能是:输入会员号,查询该会员的积分。

序号
会员号
姓名
积分
1
8011
张飞
12345
2
8012
李强
34512
3
7812
李好
45321
...
...
...
...

小方知道后,就跃跃欲试,他首先从数据库读取客户信息到列表中,其中存储第条记录的会员号,存储第条记录的姓名,存储第条记录的积分;他首先将数组中数据按会员号升序排序,然后用二分查找算法查找会员号对应的积分信息。代码如下,完善划线处的代码:

defbubble_sort(d):for i in range(len(d) - 1):for j in range(len(d) - 1, _____①_____, -1):if d[j][0] < d[j - 1][0]:                d[j], d[j - 1] = d[j - 1], d[j]defbin_search(d, key):    i, j = 0, len(d) - 1while i <= j:        m = (i + j) // 2if _____②_____:return mif key > d[m][0]:            i = m + 1else:            j = m - 1return-1# 从数据库读取会员信息存列表data中,代码略data = [    [8011, '张飞', 12345],    [8012, '李强', 34512],    [7812, '李好', 45321]]bubble_sort(data)key = int(input('输入会员号:'))m = _____③_____if m != -1:    print(data[m][1], '先生/女士:您的积分是:', data[m][2])else:    print('该会员号不正确')

参考答案:

① i

② d[m][0] == key

③ bin_search(data, key)


青少年编程竞赛交流

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章