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

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

  • 2026-10-06 23:15:09
【第42期】21天养成编程习惯:Python刷题第17天

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


Day17:GESP一级2026.06_交税

【提交】

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

【问题描述】

根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下:

  1. 劳务报酬不超过  的,不需要预交个税;
  2. 劳务报酬超过  的,仅超过  的部分按照 (即 )税率预交个税(不超过  的部分不需要预交个税);

例如,月劳务报酬为 ,则按照规则 2 需要预交个税 。

现在给定小杨同学  个月的月度劳务报酬,请帮小杨同学计算他这  个月应预交个税的总和。

【输入描述】

输入  行,每行一个浮点数,表示小杨同学  个月中每个月的劳务报酬。

每个浮点数恰好有一位小数。

【输出描述】

输出  行,一个浮点数,保留两位小数,表示小杨同学  个月应预交个税的总和。

【样例输入1】

932.01634.31790.42172.9378.1283.42761.93583.510.12324.91111.63812.3

【样例输出1】

2584.76

【样例解释1】

  1.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  2.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  3.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  4.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  5.  符合规则 1,不需要预交个税;
  6.  符合规则 1,不需要预交个税;
  7.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  8.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  9.  符合规则 1,不需要预交个税;
  10.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  11.  符合规则 2,超过  的部分为 ,按照  预交为 ;
  12.  符合规则 2,超过  的部分为 ,按照  预交为 ;

总和为 。

【数据范围】

小杨同学每月劳务报酬收入均为正,且恰好有一位小数,且不超过 。

参考程序:

'''[GESP202606 一级] 交税https://www.luogu.com.cn/problem/B4552'''ans = 0for _ in range(12):    x = float(input())    x -= 800if x > 0:        ans += x * 0.2print("%.2f" % ans)

Day17:GESP二级2023.06_找素数

【提交】

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

【问题描述】

小明刚刚学习了素数的概念:如果一个大于 1 的正整数,除了 1 和它自身外,不能被其他正整数整除,则这个正整数是素数。现在,小明想找到两个正整数 A 和 B 之间(包括 A 和 B)有多少个素数。

【输入描述】

输入 2 行,第一行包含正整数 A,第二行包含正整数 B。约定 2≤A≤B≤1000。

【输出描述】

输出一行,包含一个整数 C,表示找到 C 个素数。

【样例输入1】

210

【样例输出1】

4

【样例解释1】

在 2 和 10 之间有 4 个素数,分别为:2、3、5、7。

【样例输入2】

98100

【样例输出2】

0

参考程序:

'''[GESP202306 二级] 找素数https://www.luogu.com.cn/problem/B3840'''n = int(input())m = int(input())tnt = 0for i in range(n, m + 1):for j in range(2, i):if i % j == 0:breakelse:        tnt += 1print(tnt)

Day17: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)

Day17: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天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章