涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:七月CIE_Python打卡题目
要求:
(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)将四句唐诗用逗号和句号连接,完整输出这首诗,必须使用变量的方法编写程序。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"输出应为"白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
jvzi1 = "白日依山尽"jvzi2 = "黄河入海流"jvzi3 = "欲穷千里目"jvzi4 = "更上一层楼"print("{},{}。{},{}。".format(jvzi1, jvzi2, jvzi3, jvzi4))工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表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
乘法运算等于多个加法运算的和。比如,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天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
