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

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

  • 2026-09-02 20:31:35
【第36期】21天养成编程习惯:Python刷题第13天

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

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

Day13:CIE一级2022.06_编程题37

计算长方形的面积

要求:

(1)利用input()语句输入长方形的长和宽;

(2)利用运算符*,求得长方形的面积;

(3)利用print()语句输出长方形的面积。

输入格式:

第一次输入一个数字,代表长方形的长;

第二次输入一个数字,代表长方形的宽。

(输入有相应的提示信息,如:'请输入长方形的长:')

输出格式:

输出长方形的面积。(输出有相应的提示信息,如:'长方形的面积为:')

参考程序:

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

a=eval(input('请输入长方形的长:'))b=eval(input('请输入长方形的宽:'))s=a*bprint('长方形的面积为:'+str(s))

Day13:CIE二级2022.09_编程题36

某航空公司对于托运行李有尺寸要求,必须满足以下条件:

每件托运行李的长、宽、高三边之和须大于或等于60厘米,且小于或等于203厘米。(注意只是三边,不考虑立方体的整个周长,相当于只求长+宽+高三个数字的和,如,长宽高为:20、30、40,则之和为90)

编写一个重复执行的程序,要求如下:

1、用户一次性输入三个数字,分别代表行李的长、宽、高(单位:厘米),三个数字直接用英文的逗号隔开;如:23,45,67

2、程序自动将输入的长宽高转化为列表或者元组;

3、程序需要判断用户输入的托运行李尺寸是否满足此航空公司的要求。

4、如果满足要求,就输出"可以托运"。如果不满足要求,就输出"不可以托运"。

5、然后重复以上操作,重复次数不限。

参考程序:

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

参考1:

whileTrue:    a = list(map(int, input().split(',')))    s = 0for i in a:        s += iif s >= 60and s <= 203:        print("可以托运")else:        print("不可以托运")

参考2:

whileTrue:    a = list(map(int, input().split(',')))    s = sum(a)if s >= 60and s <= 203:        print("可以托运")else:        print("不可以托运")

Day13:CIE三级2023.05_编程题37

新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。

library = dict()  # 用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数])# 书籍入库nums = len(library)  # 先计算图书编号总数library[nums + 1] = ['红楼梦', 5]  # 在编号总数的基础上继续添加新书:library[新编号]=['书名',本数]library[nums + 2] = ['西游记', 10]library[nums + 3] = ['水浒传', 5]library[nums + 4] = ['三国演义', 10]print(library)blist = list(library.keys())# 按书名借阅:bookname = input('请输入借阅图书名称:')min_v = blist[0]max_v = blist[-1]turns = 0while min_v <= ____①____:     turns += 1    cur = (min_v + max_v) ____②____    print(cur)if library[cur][0] == ____③____:if library[cur][1] > 0:            library[cur][1] -= ____④____            print('《%s》借阅成功!' % bookname)else:            print('抱歉,您选择的书籍已被借完!')breakelif blist[cur - 1] > cur:        min_v = ____⑤____else:        max_v = ____⑥____print("经过%d轮二分查找,完成图书的搜索。" % turns)

参考答案:

① max_v;

② // 2;

③ bookname;

④ 1;

⑤ cur +1;

⑥ cur -1。


Day13:CIE四级2022.06_第38题

下面的程序运用分治算法寻找列表中的最大值。请将空格补全代码。

# 子问题规模小于或等于2时defzui_da_zhi(a_list):if _____①_____:if a_list[0] >= a_list[1]:            most = a_list[0]else:            most = a_list[1]else:        most = a_list[0]return most# 分治算法排序deffen_zhi(init_list):    n = len(init_list)if n <= 2:  # 若问题规模小于或等于2,解决return zui_da_zhi(init_list)# 分解(子问题规模为n/2)    left_list, right_list = _____②_____# 递归,分治    left_max, right_max = _____③_____# 合并return zui_da_zhi([left_max, right_max])# 测试数据test_data = [12, 25, 4, 47, 69, 5, 4, 6, 37, 89, 21]print('最大值为:', fen_zhi(test_data))

参考答案:

① len(a_list) == 2

② init_list[:n // 2], init_list[n // 2:]

③ fen_zhi(left_list), fen_zhi(right_list)


青少年编程竞赛交流

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

最新文章

随机文章