涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:七月CIE_Python打卡题目
分数计算器:依次输入语文、数学、英语的分数,计算出总分以及平均分,并在一行输出。
要求:
(1)程序开始运行时,询问请输入语文成绩;
(2)输入一个数字后询问请输入数学成绩;
(3)输入一个数字后询问请输入英语成绩;
(4)最后输入英语成绩后,程序自动输出总分以及平均分,格式为:"你的总分为:*分,平均分为:*分"。(保留小数或者整数均可)
输入样例:
929892输出样例:
你的总分为:282分,平均分为:94.0分
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
chinese = int(input("输入语文成绩"))math = int(input("输入数学成绩"))english = int(input("输入英语成绩"))total = chinese + math + englishavg = total / 3print("你的总分为:" + str(total) + "分,平均分为:" + str(avg) + "分")编写程序帮老师对英语试卷中的英文字母、数字和其他字符(注意:包括空格)进行分类并统计每种字符的数量。
输入样例:
**Welcome to 2023~!输出样例:
字母:Welcometo,共9个数字:2023,共4个其它字符:** ~!,共6个参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
程序1:
dic = {'字母': ['', 0], '数字': ['', 0], '其它字符': ['', 0]}s = input()for i in s:if i.lower() in'abcdefghijklmnopqrstuvwxyz': dic['字母'][0] += i dic['字母'][1] += 1elif i in'0123456789': dic['数字'][0] += i dic['数字'][1] += 1else: dic['其它字符'][0] += i dic['其它字符'][1] += 1print('字母:{},共{}个'.format(dic['字母'][0],dic['字母'][1]))print('数字:{},共{}个'.format(dic['数字'][0],dic['数字'][1]))print('其它字符:{},共{}个'.format(dic['其它字符'][0],dic['其它字符'][1]))程序2:
s = input()letter = ''number = ''other = ''for i in s:if i >= 'a'and i <= 'z'or i >= 'A'and i <= 'Z': letter += ielif i >= '0'and i <= '9': number += ielse: other += iprint('字母:{},共{}个'.format(letter, len(letter)))print('数字:{},共{}个'.format(number, len(number)))print('其它字符:{},共{}个'.format(other, len(other)))程序3:
s = input()letter = ''number = ''other = ''for i in s:if i.isalpha(): letter += ielif i.isdigit(): number += ielse: other += iprint('字母:{},共{}个'.format(letter, len(letter)))print('数字:{},共{}个'.format(number, len(number)))print('其它字符:{},共{}个'.format(other, len(other)))在三位数的自然数中,找出至少有一位数字是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。
小张在学习对分查找后,想利用该思路来实践一下,加深对该算法的理解。于是他按老师的要求,统计期末考试成绩,总分比他高的同学有多少个?
他的思路是,首先将全区所有学生的成绩降序排序,然后利用对分查找思想解决。他编写的代码如下,请完善划线处的代码。
cj = [654, 643, 621, 612, 609, 606] # 学生成绩存列表cj并已经降序排序defdfsearch(key): i = 0 j = len(cj) - 1while i <= j: m = (i + j) // 2if cj[m] > key: _____①_____else: j -= 1return _____②_____key = int(input('输入待查找的成绩'))pos = _____③_____print('高于', key, '分的人数有', pos)参考答案:
① i += 1或等价表达式
② i或等价表达式
③ dfsearch(key)或等价表达式
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
