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

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

  • 2026-10-11 08:08:38
【第39期】21天养成编程习惯:Python刷题第07天

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

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

Day07:CIE一级2023.09_编程题37

2023年“科学T大会”将在上海举行,某同学在学习科学知识时,了解到云也是重要的气象要素之一,天空中云的多少叫作云量,如果把天空看成一个圆,把这个圆平均分成四份,我们就可以按照云在天空中所占的面积来划分云量。由①到②的云量变化为晴天,由②到③的云量变化为多云,有③到④的云量变化为阴天。

这位同学想请你帮助他绘制晴天中的①号图形(注意:是完全没有黑色区域的晴天),绘制要求及图形如下:

(1)图形由一个黑色的圆组成;

(2)圆由水平方向的直径与垂直方向相交分成相等的4份;

(3)圆的圆心坐标为,半径为50;

(4)绘制完成后,小海龟需隐藏。

友情提示:

考试平台暂不支持画笔命名:Pen()命令,同学们可以选用其他命令;当然如果使用了Pen()命令,只要程序是正确的,阅卷时依然按照正确处理。

参考程序:

import turtleturtle.pencolor('black')turtle.penup()turtle.goto(0, -50)turtle.pendown()turtle.circle(50)turtle.goto(0, 50)turtle.penup()turtle.goto(-50, 0)turtle.pendown()turtle.goto(50, 0)turtle.hideturtle()turtle.done()

Day07:CIE二级2022.12_编程题36

编写一个重复执行的程序,要求用户输入一个字符串。如果输入的字符串的长度是奇数,就输出字符串最中间的字符。如果字符串的长度是偶数,就输出字符串的最后一个字符。然后重复以上操作。

参考程序:

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

whileTrue:    s = input('请输入一个字符串:')    length = len(s)if length % 2 !=0:        print(s[length//2])else:        print(s[-1])

Day07:CIE三级2023.09_编程题37

张老师手上有一份学生成绩单(cj.txt),成绩单上只有每位学生的各科成绩,而张老师希望能看到各科成绩的所有学生的平均分,以下代码可以实现平均分的计算,并按示例格式排版,请补充代码。

with open(r'.\data\cj.txt', _____①_____) as f:    string = f.read()    data = string.split('\n')    data.pop(0)    lis = []for i in data:        new = i.split('\t')        lis.append(new)  # 将分割得到的列表追加到空列表中,lis 为二维    lis1 = ['平均分']for i in range(1, 4):  # 循环3次,因为需要计算3个科目的平均分        sum_ = _____②_____        average = round(sum_ / 3)        lis1.append(str(average))    s = "\t".join(lis1)    res = string + swith open('cj1.txt', 'w') as f:    f.write(res)

参考答案:

① 'r'

② int(lis[0][i]) + int(lis[1][i]) + int(lis[2][i])


Day07:CIE四级2023.12_数学证明问题

上世纪中期,校园里流行一种数学游戏,其规则十分简单:任意取一个自然数,若它是奇数,则把它乘以3加上1,若它是偶数,则除以2。按此规则进行下去,经过若干步的计算就能得到自然数1。这个数学现象至今都没有得到完全的证明,但是可以编程来验证它的正确性。

实现上述功能的部分程序代码如下,请补充完成空白处的内容。

step = 1midlist = []defsubwork(n):global stepif n == 1:return stepelif n % 2 == 0:        n = _____①_____        midlist.append(n)        step += 1        subwork(_____②_____)return stepelif n % 2 != 0:        n = _____③_____        midlist._____④_____        step += 1        subwork(_____⑤_____)return stepcur_num = int(input("请输入一个数字:"))subwork(cur_num)print(midlist)print(step)

参考答案:

① n // 2或等效答案

② n或等效答案

③ n * 3 + 1或等效答案

④ append(n)或等效答案

⑤ n或等效答案


青少年编程竞赛交流

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

最新文章

随机文章