蓝桥杯2024 3月 python

一、选择题

第一题 执行 print('1' + '3')语句后,输出的结果是( )。

A、13 B、1+3 C、4 D、111

答案:A

第二题 下列数据类型,不可以直接使用索引(下标)访问其元素的是( )。

A、字符串 B、列表 C、集合 D、元组

答案:C      集合无序、去重

第三题 下列函数中,哪一个可以在列表末尾添加元素?( )

A、add() B、append() C、pop() D、remove()

答案:B

第四题 已知 s = 'onnopythonno',执行 print(s.rstrip('on'))语句后,输出的结果是( )。

A、onnopythonno B、onnopython C、onnopyth D、pyth

答案:C     如果是lstrip  j结果为pythonno   如果是strip()结果为pyth

第五题 以下选项中,哪一个不是 Python3 的错误或异常?( )

A、SyntaxError B、ModuleNotFoundError C、RuntimeError D、UnderflowError

答案:D  只有overflowError(溢出错误)

二、编程题

第一题 编程实现: 给定一个整数 n,输出 n 个连续的 y。 例如:n = 5,输出 5 个连续的 y 为 yyyyy。 输入描述:输入一个整数 n(1≤n≤20) 输出描述:输出 n 个连续的 y 样例输入:5 样例输出:yyyyy

第一题
n=int(input("数"))
t=n*"y"
print(t)

第二题 编程实现: 给定一个字符串,将第一个字符与最后一个字符拼接后输出(第一个字符在前,最后一个字符在后)。 例如:字符串为 "abcde",abcde 的第一个字符为 a,最后一个字符为 e,拼接后为 ae。 输入描述:输入一个长度不超过 20 的字符串 输出描述:输出一个字符串,表示输入字符串的第一个字符与最后一个字符拼接后的结果 样例输入:abcde 样例输出:ae

第二题
s="abcde"
t=s[0]+s[-1]
print(t)

第三题 编程实现: 给定一个整数 n,将 n 分成两个正整数,使得两个正整数的和等于 n 且尽可能接近。 例如: n = 5,两个正整数的和等于 5 的情况下可以分成 1 和 4 或者 2 和 3,要使两个正整数尽可能接近,将 5 分成 2 和 3。 n = 4,两个正整数的和等于 4 的情况下可以分成 1 和 3 或者 2 和 2,要使两个正整数尽可能接近,将 4 分成 2 和 2。 输入描述:输入一个整数 n(3≤n≤1000) 输出描述:按从小到大的顺序输出两个正整数,表示按题目要求得到的结果,整数之间以一个空格隔开 样例输入:5 样例输出:2 3

第三题
n=int(input("数"))
if n%2==0:
    n//=2
    print(n,n)
else:
    n//=2
    print(n,n+1)

4题。ABB 形式的字符串:是由 3 个字符组成,其中后两个字符相同,第一个字符与后两个字符不同。 如:"cbb"、"q22"、"688" 都是 ABB 形式的字符串;"abc"、"wwe"、"pop" 都不是 ABB 形式的字符 串。 子串:是指一个字符串中连续的一段字符序列。 如:字符串 "HelloWorld!" 中,"Hello"、"ello"、"World"、"or" 都是该字符串的

子串。 编程实现: 给定一个字符串 S,请统计 S 中有多少个 ABB 形式的子串,以及多少种 ABB 形式的子串。例如:S = "nnnseebbetoosee",ABB 形式的子串有 see、ebb、too、see,共 4 个;ABB 形式的不同子串有 see、ebb、too,共 3 种。 输入描述:输入一个长度不超过 100 的字符串 S 输出描述:输出两个整数,分别表示 S 中有多少个 ABB 形式的子串,以及多少种 ABB 形式的子串,整数 之间以一个空格隔开 样例输入: nnnseebbetoosee 样例输出: 4

str1= []
s="nnnseebbetoosee"

for i in range(len(s)-2):
    
    if s[i+1]!=s[i]:
        if s[i+1]==s[i+2]:

            str1.append(s[i]+s[i+1]+s[i+2])
print(str1)

print(len(str1),end='  ')
print(len(set(str1)))
 

第五题 编程实现: 有 71 个大小相等的格子从左到右排成一排,编号从 0 到 70,其中 N 个格子有荷叶,初始时青蛙在编号 为 0 的格子。青蛙要按照以下规则,跳到最后一个有荷叶的格子: 1、青蛙每次最少跳 1 格,最多跳 x 格; 2、青蛙每次只能跳到有荷叶的格子; 3、青蛙不能往回跳。 给定 N 个有荷叶的格子编号,以及青蛙每次最多可以跳的格子数 x。请计算青蛙一共有多少种不同的方式跳 到最后一个有荷叶的格子,如果青蛙不能跳到最后一个有荷叶的格子,输出 0。 例如:N = 4,x = 3,4 个有荷叶的格子编号依次为 1、3、4、6,青蛙每次最多跳 3 格; 青蛙有以下不同的方式跳到最后一个有荷叶的格子(6 号格子): 第一种:先跳到编号 1 的格子,接着跳到编号 3 的格子,再跳到编号 4 的格子,最后跳到编号 6 的格子; 第二种:先跳到编号 1 的格子,再跳到编号 3 的格子,最后跳到编号 6 的格子; 第三种:先跳到编号 1 的格子,再跳到编号 4 的格子,最后跳到编号 6 的格子; 第四种:先跳到编号 3 的格子,再跳到编号 4 的格子,最后跳到编号 6 的格子; 第五种:先跳到编号 3 的格子,最后跳到编号 6 的格子。 青蛙一共有 5 种不同的方式跳到最后一个有荷叶的格子。 输入描述: 第一行输入一个整数 N(3≤N≤30),表示有荷叶的格子数 第二行按从小到大的方式输入 N 个互不相同的整数(1≤整数≤70),表示有荷叶的格子编号,整数之间以 一个空格隔开 第三行输入一个整数 x(1≤x≤5),表示青蛙每次最多可以跳的格子数 输出描述: 输出一个整数,表示青蛙一共有多少种不同的方式跳到最后一个有荷叶的格子 样例输入: 4 1 3 4 6 3 样例输出: 5


ge=4
weizi=[1,3,4,6]
Max=3
dp=[0]*71
weizi.insert(0,0)#weizi[0,1,3,4,6]
dp[0]=1
for i in range(ge+1):#0,1,2,3,4
    for j in range(i):#0,1
        if weizi[j]+Max>=weizi[i]:
            dp[weizi[i]]+=dp[weizi[j]]
            
        
print(dp[weizi[-1]])

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值