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

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

  • 2026-10-23 17:22:31
【第35期】21天养成编程习惯:Python刷题第11天

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

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

Day11:CIE一级2022.03_编程题36

计算题:

买本子:小明同学带了一些钱去帮同学们买本子。请根据所带的元数、单价和数量,算一算钱够不够。

要求:

(1) 程序运行后,输入三次数字(不能一次输完),这三个数字为整数,表示所带的元数(钱数)、本子的单价和数量;

(2) 输出一行,钱足够买就输出"True",钱不够买就输出"False"(不要输出引号)。

输入样例:

100911

输出样例:

True

参考程序:

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

money = int(input("所带钱数(元,整数):"))price = int(input("本子的单价(元,整数):"))count = int(input("本子的数量(个,整数):"))print(money >= price * count)

Day11:CIE二级2023.09_最小公倍数

最小公倍数是指两个或多个整数公有的倍数中,最小的那个数。例如,2 和 3 的公倍数有 6、12、18 等等,其中最小的是 6,因此 6 就是 2 和 3 的最小公倍数。

最小公倍数在数学中有广泛的应用,例如在分数的化简、约分、比较大小等问题中都需要用到最小公倍数。

请你编写一个程序,程序可以输入两个正整数,输出它们的最小公倍数。

样例输入:

请输入第一个正整数:6请输入第二个正整数:8

样例输出:

24

友情提示:

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

参考程序:

x = int(input("请输入第一个正整数:"))y = int(input("请输入第二个正整数:"))i = max(x, y)while i <= x * y:if i % x == 0and i % y == 0:        print(i)break    i += 1

Day11:GESP三级2024.03_完全平方数

【提交】

https://www.luogu.com.cn/problem/B3957

【问题描述】

小杨同学有一个包含  个非负整数的序列 ,他想要知道其中有多少对下标组合 ,使得  是完全平方数。

如果  是完全平方数,则存在非负整数  使得 。

【输入描述】

第一行一个非负整数 ,表示非负整数个数。

第二行包含  个非负整数 ,表示序列  包含的非负整数。

【输出描述】

输出一个非负整数,表示和是完全平方数的非负整数对数。

【样例输入1】

51 4 3 3 5

【样例输出1】

3

【样例输入2】

23 5

【样例输出2】

0

对于全部数据,保证有 。

参考程序:

'''[GESP202403 三级] 完全平方数https://www.luogu.com.cn/problem/B3957'''n = int(input())A = list(map(int, input().split()))ans = 0for i in range(n):for j in range(i + 1, n):        num = A[i] + A[j]        tmp = int(num ** 0.5 + 1e-6)if tmp * tmp == num:            ans += 1print(ans)

Day11:CIE四级2023.09_第38题

未来居民社区设计有一个机器人服务中心,假如某社区有若干栋住宅楼,每栋楼的位置可以由坐标表示,其中坐标表示居民楼的东西向位置,坐标表示居民楼的南北向位置。这里约定,社区中任意2点和的之间的距离使用数值来度量。要求为社区选择建立机器人服务中心的最佳位置,使各个居民点到机器人服务中心的距离总和最小。以下是机器人服务中心的选址程序,采用取各坐标中位数的方法来确定中心位置,请补充完成该程序。

n = int(input("请输入居民楼总数:"))hx = []hy = []for i in range(n):    x, y = map(int, input("请输入居民楼的x和y坐标:").split(","))    hx.append(x)    hy.append(y)hx = sorted(_____①_____)  hy = sorted(_____②_____)  if n % 2 == 0:  # 偶数情况,求中位数    sn = int(n / 2)    x0 = int((hx[sn] + hx[sn - 1]) / 2)    y0 = int((hy[sn] + hy[sn - 1]) / 2)else:  # 奇数情况,求中位数    sn = int((n - 1) / 2)    x0 = _____③_____      y0 = _____④_____  sumx = 0sumy = 0for j in hx:    dx = abs(x0 - j)    sumx += dxfor k in hy:    dy = abs(y0 - k)    sumy += dyprint("选址点的坐标是:(%d,%d)" % (x0, y0))print("选址到各楼的累计距离是:", sumx + sumy)

参考答案:

① hx

② hy

③ hx[sn]

④ hy[sn]


青少年编程竞赛交流

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

最新文章

随机文章