涉及考试:计算机学会编程能力等级认证(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)9月底有一场大型的户外表演在体育中心举办,阿宝尝试用Python写一个检票程序,体育中心分为三个区域A区,B区和C区(A\B\C均为大写字母),看台区有1楼、2楼和3楼,球票为5位字符串,分别由字母和数字组成,第一位为大写字母,代表的是区域;第二位是数字,代表的是楼层;第3-5位为座位编号;例如:A2021第一位“A”表示A区,第二位“2”表示所在的楼层是“2楼”后面的是座位号。
具体要求如下:
(1)程序开始时提示:“请输入您的球票编码:”,根据输入的球票编码提示用户所在的观看区域、楼层和座位号;
(2)当输入的球票编码的区域和楼层错误时提示:“您的球票号输入有误,请重新输入”;
(3)当输入“0”,则退出查询,结束程序;
(4)如果没有输入“0”,程序一直可以输入球票编码;
输入样例1:
A2001输出样例1:
您的观看区域是:A区2楼001号座位输入样例2:
b1020输出样例2:
您的票号输入有误,请重新输入!请输入您的球票编码:输入样例3:
0输出样例3:
(直接退出查询,不显示任何数据)
友情提示: 由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
whileTrue: ticket = input('请输入您的球票编码:') qu = ticket[:1] floor = ticket[1:2] num = ticket[2:]if ticket == '0':breakif (qu in'ABC') and (floor in'123'): print('您的观看区域是:{}区,{}楼,{}号座位'.format(qu, floor, num))else: print('您的票号输入有误,请重新输入!')在三位数的自然数中,找出至少有一位数字是5的,至少能被3整除的所有整数,并统计个数,具体代码如下:
count = 0lst = []for i in range(____①____):if i % 3 == 0: a = i % 10 b = i // 10 % 10 c = ____②____if ____③____: count += 1 lst.append(i)print("这样的三位数有:", lst)print("总数量有:", count)参考答案:
① 100, 1000 或者 100, 1000, 1;
② i//100;
③ a==5 or b==5 or c==5。
外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景。
当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时间,路上的骑行时间等等。
一种常用的计算路上骑行时间的方法是用曼哈顿距离(manhatton distance)除以平均骑行速度。平面上点A(x1,y1)与点B(x2,y2)的曼哈顿距离为:|x1-x2|+|y1-y2|。
假设一名外卖小哥的平均骑行速度为30km/h。下面的程序模拟计算外卖小哥的路上骑行时间,请你补充完整。
输入:分两次输入A点和B点的坐标值
输出:A、B两点间的曼哈顿距离和路上骑行时间。
# 求绝对值defmy_abs(n):if ____①____return nelse:return _____②_____# 主程序v = 30# 平均骑行速度x1, y1 = eval(input('输入A点的坐标(米),以逗号分隔:'))x2, y2 = eval(input('输入B点的坐标(米),以逗号分隔:'))# 计算曼哈顿距离mhtmht = _____③_____# 计算路上骑行时间time_on_the_road = _____④_____print('A、B两点的曼哈顿距离为{}米'.format(mht))print('预计路上骑行时间需要{}分钟'.format(time_on_the_road))"""程序运行结果:输入A点的坐标(米),以逗号分隔:-1000,1000输入B点的坐标(米),以逗号分隔:1000,-1000A、B两点的曼哈顿距离为4000米预计路上骑行时间需要8.0分钟"""参考答案:
① n > 0:或n >= 0:
② -n
③ my_abs(x1 - x2) + my_abs(y1 - y2)或sum([my_abs(x1 - x2), my_abs(y1 - y2)])或sum((my_abs(x1 - x2), my_abs(y1 - y2)))或其他等效答案
④ mht / 1000 / v * 60或mht / (1000 * v) * 60或mht * 60 / 1000 / v或(mht * 60) / (1000 * v)或其他等效答案
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
