14届蓝桥杯python真题
时间: 2025-07-04 07:19:56 浏览: 0
### 第十四届蓝桥杯 Python 类别真题解析
对于第十四届蓝桥杯 Python B 组的题目,可以分为多个部分进行讨论。以下是针对不同类型的题目及其解答方法。
#### 小鸟观察问题分析
考虑给定的一系列字符表示小鸟之间的相对位置关系[^2]:
```python
N = int(input())
a = b = c = 0
l = list(map(str, input().split(',')))
length = len(l)
for i in range(length):
if i == 0:
# 第一只,只关心右边
if l[1] == 'q':
b += 1
else:
a += 1
elif i == length - 1:
# 最后一只,只关心左边
if l[i-1] == 'p':
b += 1
else:
a += 1
else:
# 中间的小鸟,要考虑左右两边的情况
if l[i-1] == 'p' and l[i+1] == 'q':
c += 1
elif (l[i-1] == 'p' and l[i+1] == 'p') or \
(l[i-1] == 'q' and l[i+1] == 'q'):
b += 1
else:
a += 1
print(a, b, c)
```
这段代码用于统计特定模式下的计数情况,通过遍历列表并根据不同条件增加相应的变量值来实现目标功能。
#### 数字匹配问题探讨
另一个问题是关于数字序列中是否存在指定子串的问题[^3]:
```python
def isTrue(x):
flag = 0
st = [3, 2, 0, 2]
while x:
if flag == 4:
return True
tmp = x % 10
x = int(x / 10)
if tmp == st[flag]:
flag += 1
return flag == 4
ans = 0
for i in range(12345678, 98765432 + 1):
if isTrue(i):
ans += 1
print(ans) # 输出最终结果
```
此段程序定义了一个辅助函数 `isTrue` 来判断整数是否包含连续四位数 `[3, 2, 0, 2]` 的排列组合,并计算满足条件的数量总和。
阅读全文
相关推荐
















