蓝桥等考Python组别十七级003
第一部分:选择题
1、Python L17 (15分)
运行下面程序,输出的结果是( )。
def func(x, y):
return (x + y) // 3
print(func(7, 5))
- 2
- 4
- 6
- 8
正确答案:B
2、Python L17 (15分)
运行下面程序,输出的结果是( )。
def func(x):
for i in range(2, x):
if x % i == 0:
print(i, end = ' ')
func(12)
- 2 3
- 2 3 4 6
- 2 4 6
- 2 4 6 8
正确答案:B
3、Python L17 (20分)
运行下面程序,输入哪项时,输出的是True?( )
def palindrome(x):
if x[ : : -1] == x:
return True
return False
n = input()
print(palindrome(n))
- 11211
- 1121
- 101010
- 100100
正确答案:A
第二部分:编程题
4、Python L17 聪明的鹦鹉(50分)
题目描述:
阿布是一只聪明的鹦鹉,认识许多英文字母。它认识的字母组成的字母表,用字符串t表示。
如果一个单词里面的所有字母,都可以在t中找到,我们就认为阿布能读出这个单词。
输入一个单词表s和字母表字符串t。计算单词表中,阿布能读出的单词数量。
例如:
一个包括3个单词的单词表s是“hello world python”,字母表t是“olerdwqsh”,
其中“hello”和“world”的所有字母,都可以在t中找到,但“python”不行,所以阿布能读出的单词数量是2。
输入:
第一行一个字符串,包括若干个单词(每个单词都只包含小写字母,单词的个数不超过100),相邻两个单词用一个空格分隔,表示单词表s;
第二行一个字符串,只包含小写字母,无重复字母,表示字母表t。
输出:
一个整数,为单词表中,阿布能读出的单词数量。
输入样例:
hello world python
olerdwqsh
输出样例:
2
参考程序1:
def spell(x, y):
for i in x:
if i not in y:
return False
return True
s = input().split(' ')
t = input()
ans = 0
for i in s:
if spell(i, t) == True:
ans += 1
print(ans)
参考程序2:
s = input().split(' ')
t = input()
T = set(t) #t转集合
ans = 0
for i in s:
S = set(i) #每个单词转集合
if S - T == set(): #求差集,判空
ans += 1
print(ans)