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

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

  • 2026-09-11 14:25:51
【第42期】21天养成编程习惯:Python刷题第13天

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


Day13:GESP一级2025.06_值日

【提交】

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

【问题描述】

小杨和小红是值日生,负责打扫教室。小杨每  天值日一次,小红每  天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?

【输入描述】

第一行,一个正整数 ,表示小杨的值日周期;

第二行,一个正整数 ,表示小红的值日周期。

【输出描述】

一行,一个整数,表示至少多少天后他们会再次同一天值日。

【样例输入1】

46

【样例输出1】

12

【样例输入2】

57

【样例输出2】

35

【提示】

对于所有测试点,保证 。

参考程序:

''' [GESP202506 一级] 值日https://www.luogu.com.cn/problem/B4355'''m = int(input())n = int(input())k = nwhile k % m != 0:    k += nprint(k)

Day13:GESP二级2025.12_环保能量球

【提交】

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

【问题描述】

小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。

为了激励玩家,游戏设置了“里程奖励”:小杨每行走  公里,游戏就会额外奖励 1 点能量。

现在已知小杨总共行走了  公里,请你帮他计算,他一共能获得多少点环保能量?

【输入描述】

第一行包含一个正整数 ,代表测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 ,代表行走的公里数。
  • 第二行包含一个正整数 ,代表奖励触发的间隔。

【输出描述】

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。

【样例输入1】

35210325

【样例输出1】

7132

【样例解释】

  • 对于第 1 组数据,:小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共  点。

  • 对于第 2 组数据,:行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共  点。

  • 对于第 3 组数据,:行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。

【数据范围】

对于全部数据,保证:,。

参考程序:

'''[GESP202512 二级] 环保能量球https://www.luogu.com.cn/problem/B4447'''t = int(input())for _ in range(t):    n = int(input())    x = int(input())    print(n + n // x)

Day13:GESP三级2023.06_密码合规检测

【提交】

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

【问题描述】

1、网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。

2、合法的密码只能由 a-z 之间 26 个小写字母、A-Z 之间 26 个大写字母、0-9 之间10个数字以及!@#$四个特殊字母构成。

3、密码最短长度:6 个字符,密码最大长度:12 个字符。

4、大写字母、小写字母和数字必须有其中两种,以及至少有四个特殊字符中的一个。

【输入描述】

1、输入以英文逗号分隔的多个字符组合作为被检测密码。输入时的逗号都作为分隔符,不被视作检验密码本身。

2、特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有input()函数不可有提示信息。

【输出描述】

1、逐行输出 0 个或多个合规的密码。

2、输出顺序以输入字符串出现先后为序,即先出现则先输出。

【样例输入1】

seHJ12!@,sjdkffH$123,sdf!@^&12 HDH,123&^YUhg@!

【样例输出1】

seHJ12!@sjdkffH$123

【样例输入2】

123!@#&^%ZAqaz,abc123ABC!@#,qaz123WSX!@#,12QAqa!@,12QAqa!@^&

【样例输出2】

abc123ABC!@#,qaz123WSX!@#,12QAqa!@

参考程序:

'''[GESP202306 三级] 密码合规https://www.luogu.com.cn/problem/B3843'''pwdList = input().split(",")for itm in pwdList:    lowerCount = 0    upperCount = 0    digitCount = 0    specialCount = 0    otherCount = 0for letter in itm:if ord('a') <= ord(letter) <= ord('z'):            lowerCount += 1elif ord('A') <= ord(letter) <= ord('Z'):            upperCount += 1elif ord('0') <= ord(letter) <= ord('9'):            digitCount += 1elif letter in"!@#$":            specialCount += 1else:            otherCount += 1break    triState = 0# 大写小写数字种类数量if lowerCount > 0:        triState += 1if upperCount > 0:        triState += 1if digitCount > 0:        triState += 1if triState >= 2and specialCount > 0and (6 <= len(itm) <= 12) and otherCount == 0:        print(itm)

Day13:GESP四级2024.03_做题

【提交】

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

【问题描述】

小杨同学为了提高自己的实力制定了做题计划,在第  天时,他必须要完成  道题,否则他就会偷懒。

小杨同学现在找到了一个题库,一共有  套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会被弃之不用。对于每套题单,他不必完成题单内所有的题。

那么问题来了,小杨同学最多会做题几天才偷懒呢?

【输入描述】

第一行,1个数为  ,表示有多少套题单。

第二行, 个整数 ,分别表示每套题单有多少道题。

【输出描述】

输出一行,小杨同学偷懒前最多做题天数。

【样例输入1】

43 1 4 1

【样例输出1】

3

对于全部数据,保证有 。

参考程序:

'''[GESP202403 四级] 做题https://www.luogu.com.cn/problem/B3959'''n = int(input())A = list(map(int, input().split()))A = sorted(A)day, idx = 1, 0while idx < n:if A[idx] >= day:        day += 1    idx += 1print(day - 1)

青少年编程竞赛交流

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

最新文章

随机文章