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

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

  • 2026-10-08 21:08:41
【第38期】21天养成编程习惯:Python刷题第14天

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

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

Day14:GESP一级2025.03_四舍五入

【提交】

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

【问题描述】

四舍五入是一种常见的近似计算方法。现在,给定  个整数,你需要将每个整数四舍五入到最接近的整十数。例如, 四舍五入后为 , 四舍五入后为 。

【输入描述】

共两行,第一行,一个整数 ,表示接下来输入的整数个数。

接下来  行,每行一个整数 ,表示需要四舍五入的整数。

【输出描述】

 行,每行一个整数,表示每个整数四舍五入后的结果,整数之间用空格分隔。

【样例输入1】

54358256790

【样例输出1】

4060307090

【数据范围】

对于所有测试点,保证 ,。

参考程序:

'''[GESP202503 一级] 四舍五入https://www.luogu.com.cn/problem/B4258'''n = int(input())for _ in range(n):    x = int(input())    print(int(x / 10+0.5) * 10)

Day14:GESP二级2023.12_小杨做题

【提交】

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

【问题描述】

为了准备考试,小杨每天都要做题。第 1 天,小杨做了  道题;第 2 天,小杨做了  道题;从第 3 天起,小杨每天做的题目数量是前两天的总和。

此外,小杨还规定,当自己某一天做了大于或等于  题时,接下来的所有日子里,他就再也不做题了。

请问,到了第  天,小杨总共做了多少题呢?

【输入描述】

总共 4 行。第一行一个整数 ,第二行一个整数 ,第三行一个整数 ,第四行一个整数 。

保证 ;;。

【输出描述】

一行一个整数,表示小杨  天里总共做了多少题目。

【特别提醒】

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

【样例输入1】

12105

【样例输出1】

19

【样例解释 1】

小杨第一天做  题,第二天做  题,第三天做  题,第四天做  题,第五天做  题。因此他总共做了  题。

【样例输入2】

1158

【样例输出2】

12

【样例解释 2】

小杨前 5 天分别做了  题,由于第 5 天小杨做了  题,而 ,于是小杨从此以后不再做题。因此小杨总共做了  题。

参考程序:

'''[GESP202312 二级] 小杨做题https://www.luogu.com.cn/problem/B3923'''a = int(input())b = int(input())m = int(input())n = int(input())ans = a + bfor i in range(3, n + 1):    c = a + b    ans += c    a = b    b = cif c >= m:breakprint(ans)

Day14:GESP三级2024.03_字母求和

【提交】

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

【问题描述】

小杨同学发明了一种新型密码,对于每一个小写英文字母,该小写字母代表了一个正整数,即该字母在字母顺序中的位置,例如字母 a 代表了正整数 1,字母 b 代表了正整数 2;对于每一个大写英文字母,该大写字母代表了一个负整数,即该字母的 ASCII 码的相反数,例如字母 A 代表了正整数 -65。小杨同学利用这种方式对一个整数进行了加密并得到了一个由大写字母和小写字母组成的字符串,该字符串中每个字母所代表数字的总和即为加密前的整数,例如 aAc 对应的加密前的整数为 1+(-65)+3=-61。

对于给定的字符串,请你计算出它对应的加密前的整数是多少。

【输入描述】

第一行一个正整数,表示字符串中字母的个数。

第二行一个由大写字母和小写字母的字符串,代表加密后得到的字符串。

【输出描述】

输出一行一个整数,代表加密前的整数。

【样例输入1】

3aAc

【样例输出1】

-61

对于全部数据,保证有。

参考程序:

'''[GESP202403 三级] 字母求和https://www.luogu.com.cn/problem/B3956'''n = int(input())s = input()sum = 0for char in s:    ascii_code = ord(char)if65 <= ascii_code <= 90:        sum -= ascii_codeelif97 <= ascii_code <= 122:        sum += (ascii_code - 97 + 1)print(sum)

Day14:GESP四级2024.12_字符排序

【提交】

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

【问题描述】

小杨有  个仅包含小写字母的字符串 ,小杨想将这些字符串按一定顺序排列后拼接到一起构成字符串 。小杨希望最后构成的字符串  满足:

假设  为字符串  的第  个字符,对于所有的  均有 。两个字符的大小关系与其在字母表中的顺序一致,例如。

小杨想知道是否存在满足条件的字符串排列顺序。

【输入描述】

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

对于每组测试数据,第一行包含一个正整数 ,含义如题面所示。

之后  行,每行包含一个字符串 。

【输出描述】

对于每组测试数据,如果存在满足条件的排列顺序,输出 1,否则输出 0。

【样例输入1】

33aaacde2aacbc1gesp

【样例输出1】

100

【样例解释】

对于第一组测试数据,一种可行的排列顺序为 aa+ac+de,构成的字符串  为 aaacde,满足条件。

【数据范围】

对于全部数据,保证有 ,每个字符串的长度不超过 。

参考程序:

'''GESP202412 四级 字符排序https://www.luogu.com.cn/problem/B4069'''T = int(input())for _ in range(T):    lst = []    n = int(input())for _ in range(n):        s = input()        lst.append(s)    lst.sort()    r1 = "".join(lst)    r2 = "".join(sorted(list(r1)))if r1 == r2:        print(1)else:        print(0)

青少年编程竞赛交流

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

最新文章

随机文章