蓝桥等考Python组别
十七
级
第一部分:选择题
1、Python L
17
(15分)
运行下面程序,输出的结果是( )。
def func(x
, y
):
return
(x + y) // 3
print(func(
6, 3
))
2
3
4
5
正确答案:
B
2
、Python L
17
(
15
分)
运行下面程序,输出的结果是( )。
def func(x):
for i in range(2, x):
if x % i == 0:
print(i, end = ' ')
func(
16
)
2 3
2
4
8
2 4 6 8
2 4 6
正确答案:
B
3、Python L
17
(20分)
运行下面程序,输入
哪个
数时,输出的是
True
?
(
)
def isPrime(x):
if x == 0 or x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
n = int(input())
print(isPrime(n))
7
12
15
16
正确答案:
A
第二部分:编程题
4
、Python L
17 幸运单词
(
5
0分)
题目描述:
多多正在背单词,他从单词表中选出了一些“幸运单词”。
在一个单词中,出现次数最多的字母
数量减去
出现次数最少的字母
数量
,如果
差值
是一个质数,那么多多就认为这
个单词是
“幸运单词”。
例如:
单词
为
“attention”,
其中
出现
次数
最多的字母
为
t
,
出现了3次,出现次数最少的字母
为a、e、i、o,都
出现了1次,
差值为2(
3-1=2
)
,2是质数,所以“attention”是一个“幸运单词”。
输入一个由小写字母组成的单词,如果是“幸运单词”输出“yes”,否则输出“no”。
说明:
在大于1的自然数中,除了1和它本身以外不再有其他因数的数叫做质数。最小的质数是2。
输入:
一个由小写字母组成的字符串,长度小于100。
输出:
一个字符串,如果输入的
字符串
是“幸运单词”,输出“yes”,否则输出“no”。
输入样例1:
error
输出样例1:
yes
参考程序
1
:
def prime(x): #判断x是不是质数
if x == 0 or x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
x = input()
dic = {}
for i in x:
dic[i] = x.count(i) #将“元素——出现次数”作为一个键值对,加入字典
if prime(max(dic.values())
-
min(dic.values())):
print('yes')
else:
print('no')
参考程序
2
:
def eratosthenes(x): #埃拉托斯特尼筛法
if x == 0 or x == 1:
return False
isPrime = [True] * (x + 1)
for i in range(2, int(x ** 0.5) + 1):
if isPrime[i]:
for j in range(i * i, x + 1, i):
isPrime[j] = False
return isPrime[x]
x = input()
a = [0] * 26
for i in x:
a[ord(i)-97] += 1
a.sort(reverse=True)
i=0
j=0
while a[j] > 0:
j += 1
j -= 1
if eratosthenes(a[i]-a[j]) == True:
print('yes')
else:
print('no')
测试数据:
1.in
error
1.out
yes
2.in
attention
2.out
yes
3.in
apple
3.out
no
4.in
Helloworld
4.out
yes
5.in
earliest
5.out
no
蓝桥杯青少组Python组别17级编程练习真题(第5套,共8套)