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

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

  • 2026-09-02 15:39:11
【第41期】21天养成编程习惯:Python刷题第17天

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

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

Day17:CIE一级2020.09_编程题36

要求:

(1)程序开始运行后,输入一个三位数整数;

(2)程序会根据输入的整数输出百位、十位和个位上的数。

例如,输入123,输出为:“百:1,十:2,个:3”。

参考程序:

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

方法一:

x = int(input('输入一个三位数整数:'))a = x // 100b = (x - a * 100) // 10c = x % 10print("百:", a, "十:", b, "个:", c)

方法二:

x = int(input('输入一个三位数整数:'))a = x // 100b = x % 100 // 10c = x % 10print('百:', a, '十:', b, '个:', c)

Day17:CIE二级2021.12_编程题37

将四句唐诗用逗号和句号连接,完整输出这首诗,必须使用变量的方法编写程序。

jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"

输出应为"白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"

参考程序:

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

jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"print("{},{}。{},{}。".format(jvzi1, jvzi2, jvzi3, jvzi4))

Day17:CIE三级2023.09_编程题38

工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表qj中:qj = [[2, 1], [1, 3], [0, 2], [4, 3], [12, 4], [10, 1], [4, 1]],其中器件信息[2, 1]表示器件送达时间是2,检测时长是1,其他器件信息类推。

现在编写Python程序对各个器件进行排序,并重新输出。排序后的器件列表如下,请你在划线处完善程序:

qj = [[2, 1], [1, 3], [0, 2], [4, 3], [12, 4], [10, 1], [4, 1]]for i in range(len(qj) - 1):for j in range(0, _____①_____):if _____②_____ or (qj[j][0] == qj[j + 1][0] and _____③_____):            qj[j], qj[j + 1] = qj[j + 1], qj[j]print(_____④_____)

参考答案:

① 本题考查的是对二维列表进行冒泡排序。外循环控制排序趟数,内循环控制排序比较的次数以及比较的起止位。外循环变量i从0开始,内循环变量j从0开始,显然终值是len(qj)-1-i,比较过程从前往后两两相比。因此①处填写的步长应为len(qj)-1-i;

② 根据题目意思,比较依据先是送达时间(从小到大),若相同则比较检测时长,因此②处表达的应该是相邻两个器件的送达时间相比,从交换语句来看第j项被交换至j+1项,从而判定②处答案为qj[j][0] > qj[j+1][0];

③ qj[j][0]表示送达时间,qj[j][1]则表示的是检测时长,从qj[j][0]==qj[j+1][0]可知此处表示送达时间相同的情况下满足何种条件第j项会和第j-1项交换,显然要比的是检测时间,故而③处填写qj[j][1] > qj[j+1][1]。

④ 根据题意,最后需要输出排序后的器件列表,因此④处填写的器件列表名称qj。

① len(qj) - 1 - i

② qj[j][0] > qj[j+1][0]

③ qj[j][1] > qj[j+1][1]

④ qj


Day17:CIE四级2021.09_第37题

乘法运算等于多个加法运算的和。比如,3×2 可以理解为 3+3,也可以理解为 2+2+2。

下面的程序使用递归算法演示了计算两个自然数的乘积的过程。请你补全代码。

输入:分两次输入自然数num1,num2

输出:num1 × num2 = 乘积

defcheng_fa(num1, num2, value):if _____①_____:        value += 0else:        value += num1        _____②_____        value = cheng_fa(num1, num2, value)return _____③_____num1 = int(input('输入第1个数:'))num2 = int(input('输入第2个数:'))value = 0value = cheng_fa(num1, num2, value)print('{} X {} = {}'.format(num1, num2, value))"""程序运行结果:输入第1个数:3输入第2个数:73 X 7 = 21"""

参考答案:

① num1 == 0 or num2 == 0或其他等效答案

② num2 -= 1或其他等效答案

③ value


青少年编程竞赛交流

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

最新文章

随机文章