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

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

  • 2026-10-11 06:13:14
【第42期】21天养成编程习惯:Python刷题第07天

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


Day07:GESP一级2024.09_美丽数字

【提交】

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

【问题描述】

小杨有  个正整数,他认为一个正整数是美丽数字当且仅当该正整数是  的倍数但不是  的倍数。

小杨想请你编写一个程序计算  个正整数中美丽数字的数量。

【输入描述】

第一行包含一个正整数 ,代表正整数个数。

第二行包含  个正整数 。

【输出描述】

输出一个整数,代表其中美丽数字的数量。

【样例输入1】

31 9 72

【样例输出1】

1

【提示】

  •  既不是  的倍数,也不是  的倍数;
  •  是  的倍数,不是  的倍数;
  •  既是  的倍数,也是  的倍数; 因此答案为 。

对于全部数据,保证有 。

参考答案:

'''[GESP202409 一级] 美丽数字https://www.luogu.com.cn/problem/B4035'''n = int(input())cnt = 0lst = map(int, input().split())for x in lst:if x % 9 == 0and x % 8 != 0:        cnt += 1print(cnt)

Day07:GESP二级2024.06_计数

【提交】

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

【问题描述】

小杨认为自己的幸运数是正整数 (注:保证 )。小杨想知道,对于从  到  的所有正整数中, 出现了多少次。

【输入描述】

第一行包含一个正整数 。

第二行包含一个正整数 。

【输出描述】

输出从  到  的所有正整数中, 出现的次数。

【样例输入1】

252

【样例输出1】

9

【样例解释】

从  到  中, 出现的正整数有 ,一共出现了  次。

【数据范围】

对于全部数据,保证有 。

参考程序:

'''[GESP202406 二级] 计数https://www.luogu.com.cn/problem/B4007'''n = int(input())k = int(input())cnt = 0for i in range(1, n + 1):    cnt += str(i).count(str(k))print(cnt)

Day07:GESP三级2025.03_词频统计

【提交】

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

【问题描述】

在文本处理中,统计单词出现的频率是一个常见的任务。现在,给定  个单词,你需要找出其中出现次数最多的单词。在本题中,忽略单词中字母的大小写(即 Apple、apple、APPLE、aPPle 等均视为同一个单词)。

请你编写一个程序,输入  个单词,输出其中出现次数最多的单词。

【输入描述】

第一行,一个整数 ,表示单词的个数;

接下来  行,每行包含一个单词,单词由大小写英文字母组成。

输入保证,出现次数最多的单词只会有一个。

【输出描述】

输出一行,包含出现次数最多的单词(输出单词为小写形式)。

【样例输入1】

6ApplebananaappleOrangebananaapple

【样例输出1】

apple

【数据范围】

对于所有测试点,,每个单词的长度不超过 ,且仅由大小写英文字母组成。

参考答案:

'''[GESP202503 三级] 词频统计https://www.luogu.com.cn/problem/B4262'''lst = []n = int(input())for _ in range(n):    x = input()    lst.append(x.lower())s = ""cnt = 0for i in lst:    x = lst.count(i)if x > cnt:        cnt = x        s = iprint(s)

Day07:GESP四级2026.03_山之谷

【提交】

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

【问题描述】

现有一片山地,可以视为一个  行  列的网格图,第  行  列的海拔为 。

若一个单元格的海拔不高于其所有相邻(包括边相邻和顶点相邻,每个单元格至多有 8 个相邻的单元格)单元格的海拔,则称其为山谷。

请你数一数该片山地中有多少山谷。

【输入描述】

第一行包含  个整数 ,表示山地的大小。

之后  行,每行包含  个整数 ,表示海拔。

【输出描述】

输出 1 行,包含 1 个整数 ,表示山谷的数量。

【样例输入1】

3 57 6 7 7 96 5 6 7 66 5 7 8 9

【样例输出1】

3

【样例解释】

样例 1 如图所示,绿色单元格代表山谷:

【数据范围】

保证 ,。

参考程序:

''' [GESP202603 四级] 山之谷 https://www.luogu.com.cn/problem/B4501'''n, m = tuple(map(int, input().split()))lst = []for _ in range(n):    d = list(map(int, input().split()))    lst.append(d)dx = [-1, -1, -1, 0, 0, +1, +1, +1]dy = [-1, 0, +1, -1, +1, -1, 0, +1]cnt = 0for i in range(n):for j in range(m):        flag = Truefor k in range(8):            x, y = i + dx[k], j + dy[k]if x < 0or x > n - 1or y < 0or y > m - 1:continueif lst[i][j] > lst[x][y]:                flag = Falsebreakif flag isTrue:            cnt += 1print(cnt)

青少年编程竞赛交流

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

最新文章

随机文章