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

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

  • 2026-10-11 06:19:12
【第42期】21天养成编程习惯:Python刷题第09天

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


Day09:GESP一级2023.12_小杨的考试

【提交】

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

【问题描述】

今天是星期 ,小杨还有  天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用  表示星期日)

【输入描述】

输入 2 行,第一行一个整数 ();第二行一个整数 ()。

【输出描述】

输出一个整数,表示小杨考试那天是星期几。

【特别提醒】

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

【样例输入1】

16

【样例输出1】

7

【样例解释 1】

今天是星期 1,那么 6 天后就是星期日,星期日在本题中用  表示。

【样例输入2】

53

【样例输出2】

1

【样例解释 2】

今天是星期 5,那么 3 天后就是星期 1。

参考程序:

'''[GESP202312 一级] 小杨的考试https://www.luogu.com.cn/problem/B3921'''X = int(input())N = int(input())a = (X + N) % 7if a == 0:    print(7)else:    print(a)

Day09:GESP二级2025.06_数三角形

【提交】

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

【问题描述】

直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为 ,则直角三角形的面积为 。

请你计算当直角边长  均取不超过  的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为  和  的两个直角三角形相同,当且仅当  或者 。

【输入描述】

一行,一个整数 ,表示直角边长的最大值。

【输出描述】

输出一行,一个整数,表示不同的直角三角形数量。

【样例输入1】

3

【样例输出1】

3

【样例输入2】

5

【样例输出2】

9

【数据范围】

对于所有测试点,保证 。

参考程序:

'''[GESP202506 二级] 数三角形https://www.luogu.com.cn/problem/B4356'''cnt = 0n = int(input())for a in range(1,n+1):for b in range(a,n+1):if a*b%2==0:            cnt+=1print(cnt)

Day09:GESP三级2025.12_密码强度

【提交】

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

【问题描述】

小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:

  • 密码至少包含8个字符(太短的密码容易被猜出来哦!)。
  • 密码至少包含一个大写字母(A、B、C、...、Z 都可以)。
  • 密码至少包含一个数字(0、1、2、3、...、9 都可以)。

例如:

  • 密码 PAs1s2an 是安全密码(有8位、包含大写字母 P、A 和数字 1、2)。
  • 密码 ab1da3cd 不是安全密码(没有大写字母)。
  • 密码 Paabdbcd 不是安全密码(没有数字)。
  • 密码 Pa2 不是安全密码(只有3位,太短了)。

【输入描述】

第一行一个正整数 ,代表数据组数。

对于每组数据,一行包含一个字符串,代表需要安全检测的密码。

【输出描述】

对于每组数据输出一行,如果满足强度要求输出 Y,否则输出 N。

【样例输入1】

6PAs1s2an1a2bCql3Pa12bsnaab1da3cdPaabdbcdPa2

【样例输出1】

YYYNNN

【样例解释】

  • 密码 PAs1s2an 是安全密码(有8位、包含大写字母 P、A 和数字 1、2)。
  • 密码 1a2bCql3 是安全密码(有8位、包含大写字母 C 和数字 1、2、3)。
  • 密码 Pa12bsna 是安全密码(有8位、包含大写字母 P 和数字 1、2)。
  • 密码 ab1da3cd 不是安全密码(没有大写字母)。
  • 密码 Paabdbcd 不是安全密码(没有数字)。
  • 密码 Pa2 不是安全密码(只有3位,太短了)。

【数据范围】

对于所有测试点,保证 ,并且每组数据密码长度不超过  且至少为 。

参考程序:

'''[GESP202512 三级] 密码强度https://www.luogu.com.cn/problem/B4449'''T = int(input())for _ in range(T):    s = input()if len(s) < 8:        print("N")continue    flag1, flag2 = False, Falsefor c in s:if"A" <= c <= "Z":            flag1 = Trueif"0" <= c <= "9":            flag2 = Trueif flag1 isFalseor flag2 isFalse:        print("N")else:        print("Y")

Day09:GESP四级2023.12_田忌赛马

【提交】

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

【问题描述】

你要和田忌赛马。你们各自有  匹马,并且要进行  轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。

你的马匹的速度分别为 ,田忌的马匹的速度分别为 。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。

【输入描述】

第一行一个整数 。保证 。

接下来一行  个用空格隔开的整数,依次为 ,表示你的马匹们的速度。保证 。

接下来一行  个用空格隔开的整数,依次为 ,表示田忌的马匹们的速度。保证 。

【输出描述】

输出一行,表示你最多能获胜几轮。

【特别提醒】

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

【样例输入1】

31 3 52 4 6

【样例输出1】

2

【样例解释1】

第 1 轮,田忌派出速度为  的马匹,你可以派出速度为  的马匹迎战,本轮你获胜。

第 2 轮,田忌派出速度为  的马匹,你可以派出速度为  的马匹迎战,本轮你获胜。

第 3 轮,田忌派出速度为  的马匹,你可以派出速度为  的马匹迎战,本轮田忌获胜。

如此,你可以赢得 2 轮比赛。

【样例输入2】

510 3 5 8 74 6 1 2 9

【样例输出2】

5

参考程序:

'''GESP202312 四级 田忌赛马https://www.luogu.com.cn/problem/B3928'''n = int(input())a = list(map(int, input().split()))b = list(map(int, input().split()))a.sort()b.sort()h = 0ans = 0for i in range(n):if a[i] > b[h]:        ans += 1        h += 1print(ans)

青少年编程竞赛交流

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

最新文章

随机文章