当前位置:首页>java>【第36期】21天养成编程习惯:Python刷题第10天

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

  • 2026-09-02 17:15:01
【第36期】21天养成编程习惯:Python刷题第10天

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

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

Day10:CIE一级2022.12_编程题37

要求:

(1)画一个边长为400的正方形,然后将其平均分割成4份,分割线相交于一点,形成一个田字格,效果如下图:

(2)正方形的边框为黑色,分割线的颜色为红色;

(3)分割线的交点为画布的中心;

(4)最后海龟要隐藏。

参考程序:

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

import turtleturtle.penup()turtle.goto(-200, -200)turtle.pendown()for i in range(4):    turtle.forward(400)    turtle.left(90)turtle.pencolor('red')turtle.penup()turtle.goto(-200, 0)turtle.pendown()turtle.goto(200, 0)turtle.penup()turtle.goto(0, -200)turtle.pendown()turtle.goto(0, 200)turtle.hideturtle()turtle.done()

Day10:CIE二级2021.12_编程题36

日期计算器

设计一款日期计算程序,能够实现下面的功能:

(1)要求用户分别输入年、月、日(分三次输入) ;

(2)程序自动会根据输入的年月日计算出这一天是这一年的第几天;

(3)输出格式为:这是****年的第**天;

请输入某年某月某日,通过编程判断这一天是这一年的第几天。

友情提示:

考试平台暂不支持eval()命令。

参考程序:

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

year = int(input("输入年份:"))month = int(input("输入月份:"))day = int(input("输入日期:"))lst = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]# 年份能被4整除且不能被100整除,或者能被400整除的为闰年if (year % 4 == 0and year % 100 != 0) or (year % 400 == 0):    lst[2] = 29count = 0for i in range(month):    count += lst[i]count += dayprint("这是%d年的第%d天" % (year, count))

Day10:CIE三级2023.09_编程题36

下面代码,在字典a中查找身高为137的人,请将代码中缺失部分补充完整。

a = {'小赵': 136, '小钱': 141, '小孙': 146, '小李': 138, '小周': 142, '小吴': 134, '小郑': 137, '小王': 143}keys = a.keys()b = 0# 用于判断查找是否成功for key in keys:    value = a[_____①_____]if _____②_____ == 137:        print('找到身高为137的人是:', key)        b = b + 1# 有找到的人        _____③_____  # 退出循环if b == 0:    print('本次查找,未找到有身高为137的同学。')

参考答案:

① key

② value或者int(value)或者a[key]或者int(a[key])

③ break


Day10:CIE四级2022.12_第36题

从键盘接收一组不重复整数,并将这组整数按从小到大的顺序排列。以下程序采取快速排序法对这组整数进行排序。

快速排序法的原理是:

(1)取这组数据中间那个数为锚定值mid;

(2)从这组数据开头往右找,遇到比mid大的数则停下,位置记为i;

(3)从这组数据末尾往左找,遇到比mid小的数则停下,位置记为j;

(4)如果此时i仍在j左边,即i <= j,则交换这两个数;

(5)重复(2)~(4)直到i、j重合;

(6)对j左边的数进行快速排序;

(7)对i右边的数进行快速排序。

输入示例:

请输入需要排序的一组整数,数与数之间用空格隔开:6 10 11 8 4 1 9 7

输出示例:

排序结果:1 4 6 7 8 9 10 11

程序模板:

defQuickSort(left, right):if _____①_____:return    mid = Numbers[left + (right - left) // 2]    i = left    j = rightwhile i < j:while Numbers[i] < mid:            i += 1while Numbers[j] > mid:            j -= 1if i <= j:            _____②_____    QuickSort(left, j - 1)    QuickSort(i + 1, right)Numbers = list(map(int, input("请输入需要排序的一组整数,数与数之间用空格隔开:")._____③_____))QuickSort(0, _____④_____)print("排序结果:", end="")for i in Numbers:    print(i, end=" ")

参考答案:

① left >= right

② Numbers[i], Numbers[j] = Numbers[j], Numbers[i]

③ split()

④ len(Numbers) - 1


青少年编程竞赛交流

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

最新文章

随机文章