Python计算机二级/期末考试 题库(三)

收集了一些经典Python计算机二级和Python期末考试题库

整理不易,大家点赞收藏支持一下

祝大家计算机二级和期末考试都高分过


系列文章:

Python计算机二级/期末考试 题库(一)

Python计算机二级/期末考试 题库(二)

Python计算机二级/期末考试 题库(三)

Python计算机二级/期末考试 题库(四)


目录

一、程序填空

二、程序选择

三、程序设计


一、程序填空

1.序列元素的编号称为索引,索引值从【1】开始,访问序列元素时将它用【2】括起来。 

参考答案:【1】0,【2】[ ]

2.在Python中,字典和集合都使用【1】作为定界符。字典的每个元素由两部分组成,键和值,其中【2】不允许重复。

参考答案:【1】{ },【2】key 或 键

3.集合是【1】元素的无序集,它兼具字典和列表的一些性质。不记录元素顺序或者插入点,因此不支持【2】

参考答案:【1】不重复,【2】索引

4.题目:如果用逗号分隔了一些值,将自动创建【1】,二个元组可以连接,使用【2】运算符

参考答案:【1】元组,【2】+

5.用【1】可以清空字典dict中所有元素,用【2】可以返回字典dict的项。

参考答案:【1】dict.clear(),【2】dict.item()

6.结构化程序设计有三种基本结构:顺序结构、【1】和【2】。

参考答案:【1】分支结构,【2】循环结构(顺序可以颠倒)

7.循环结构中,【1】语句用于中断当前循环的执行,跳出循环结构,  【2】语句用于中断本次循环的执行,进入下一轮循环条件是否满足的判断。

参考答案:【1】break,【2】continue

8.Python语言提供两种基本循环结构:【1】和 【2】。

参考答案:【1】while,【2】 for    (顺序可以颠倒)

9.要使循环语句  for  i  in  range(  1,  ___  ,  1)  循环执行5次,则循环变量的终值应当为【1】,循环执行10次,则循环变量的终值应当为【2】。

参考答案:【1】6,【2】11

10.分支结构可以分为单分支和多分支结构,在Python语言中,这两种结构分别用【1】语句和  【2】语句来描述。

参考答案:【1】if ,【2】if-elif-else

二、程序选择

1.python语句print(type({1:1,2:2,3:3,4:4})的输出结果是

A. <class'tuple’>
B. <class'dict’>
C. <class'set’>
D. <class'frozenset’>

答案:B

2.以下不能创建字典的语句是()

A.dict={}
B.dict2={3:5}
C.dict3={2:3,4:5}
D.dict4=dict([1,2],[3,4])

答案:D

3.对于字典D={‘A’:10,’B’:20,’C’:30,’D’:40},对第4个字典元素的访问形式是:

A. D[3]                                                            
B. D[4]
C. D[D]
D. D[‘D’]

答案:D

4.对于字典D={‘A’:10,’B’:20,’C’:30,’D’:40},len(D)的是:

A.4
B.8
C.6
D.12

答案:A

5.对于字典D={‘A’:10,’B’:20,’C’:30,’D’:40},sum(list(D.value()))的值是:

A.10
B.100
C.40
D.200

答案:B

6.以下不能创建集合的语句是()。

A. s=set()
B. s2=set(“abcd”)
C. s3={}
D. s4=frozenset((3,2,  1))

答案:C 

7.设a=set([1,2,2,3,3,3,4,4,4,4),则a.remove(4)执行后,a的值是()。

A.{1,2,3}
B.{1,2,2,3,3,3,4,4,4}
C.{1,2,2,3,3,3}
D.[1,2,2,3,3,3,4,4,4]

答案:A

8.下列语句执行后的结果是()。

fruits={‘apple’:3,’banana’:4,’pear’:5}
fruits[‘banana’]=7
print(sum(fruits.values()))
A.7
B.19
C.12
D.15

答案:D

9.下列语句执行后的结果是()

d1={1:'food'}
d2={1:'食品',2:'饮料'}
d1.update(d2)
print(d1[1])
A.1
B.2
C.食品
D.饮料

答案:C

10.下列Python程序的运行结果是()

s1=set([1,2,2,3,3,3,4])
s2={1,2,5,6,4}
print(s1&s2)
A.{1,2,4}
B.set()
C.[1,2,2,3,3,3,4]
D.{1,2,5,6,4}

答案:A

11.下列Python数据中,其元素可以改变的是()。

A.列表
B.元组
C.字符串
D.数组

答案:A

12.表达式“[2]in[12,3,4]”的值是()

A. Yes
B. No
C. True
D. False

答案:C

13.Max((1,2,3)*2)的值是()。

A.3
B.4
C.5
D.6

答案:A

14.Tuple(range(2,10,2))返回的结果是()。

A.[2,4,6,8]
B.[2,4,6,8,10]
C.(2,4,6,8)
D.(2,4,6,8,10)

答案:C

15.对于列表L=[1,2,3,4,5,6],L[-3]指的是()。

A.1
B.3
C.4 
D.6

答案:C

16.L=[1,2,3,4,5,6,7,8,9],L[6]指的是:

A.5 
B.6
C.7
D.8

答案:C

17.列表[ i  for  i  in  range(15)  if  i%5==1 ]的值是_____.

A)[5,10]
B)[0,5,10,15]
C)[5,10,15]
D)[0,5,10]

答案:D

18.列表[i for i in range(12)  if  i%4==0]的值是______。

A)[4,8]
B)[0,4,8]
C)[4,8,12]
D)[0,4,8,12]

答案:B

19.若alist=[1,2],则执行 alist.insert(-1,5)后, alist的值是______。

A)[1,2,5]
B)[1,5,2]
C)[5,1,2]
D)[5,2,1]

答案:B

20.关于列表数据结构,下面描述正确的是_______。

A)不支持in运算符
B)可以不按顺序査找元素
C)必须按顺序插入元素
D)所有元素类型必须相同

答案:B

21.执行以下两条语句后,lst的结果是

1st=[3,2,1]
1st.append(1st)
A)抛出异常
B)[3,2,1,[…]],其中“..”表示无穷递归
C)[3,2,1,[3,2,1]]
D)[3,2,1,1st]

答案:A

22.下面选项中______是Python的可更改数据类型。

A)字符串
B)元组
C)列表
D)数字

答案:C

23.列表中的元素排序,可以通过sort()中添加reverse参数来实现,参数值等于____表示降序排列。

A)True
B)true
C)False
D)false

答案:A

24.下列关于元组的说法,错误的是______。

A)元组中的元素不能改变和删除
B)元组没有append()或extend()方法
C)元组在定义时所有元素放在一对圆括号“()”中
D)用sort()方法可对元组中的元素排序

答案:D

25.在下列表达式中,_____不是合法的元组。

A)(20,)
B)(‘runoob’)
C)()
D)(123,'runoob')

答案:B

26.下列关于字典的定义,______是错误。

A)值可以是任意类型的 Python对象
B)属于Python中的不可变类型
C)字典元素用大括号{ }包裹
D)由键值(key-value)对构成

答案:A

27.Python的序列类型不包括_____。

A)字符串
B)字典
C)元组
D)列表

答案:A

28.对于字典dic={‘abc':123,’def’:456,'ghi’:789},len(dic)的结果

A)6
B)3
C)9
D)12

答案:B

29.在下列语句中,定义了一个Python字典的是______。

A)[1,2,3]
B)(1,2,3)
C){1,2,3}
D){}

答案:D

30.在下列语句中,不能创建一个字典的语句是______。

A)dict={}
B)dict={4:6}
C)dict={(4,5,6):’dictionary’}
D)dict={[4,5,6]:’dictionary’}

答案:D

三、程序设计

第1题

题目:从键盘输入两个整数x和y,计算并输出两个整数的和s,差b,积p。

说明:变量x和变量y从键盘输入,和使用变量s,差使用变量b,积使用变量p

结果示例:
【从键盘输入一个数x:】8
【从键盘输入另一个数y:】5
x和y 和:13,差:3 积:40
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
#**********Program**********



#**********  End  **********
print("x和y 和:%d,差:%d 积:%d"%(s,b,p))

答案:

x = int(input("【从键盘输入一个数x:】"))
y = int(input("【从键盘输入另一个数y:】"))
s = x + y
b = x - y
p = x * y

第2题

题目:调用随机函数生成一个1~100之间的随机整数n,从键盘输入数字guess猜谜,
      给出猜测结果(太大,太小,成功)的提示。

说明:通过引入random模块,调用其中的randint函数产生随机整数。
      再比较从键盘输入数和随机数的大小。

输出示例:
请输入你的猜测数:67
你的猜测数太大 

请输入你的猜测数:30
你的猜测数太小 

请输入你的猜测数:50
恭喜你猜对了
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
#**********Program**********



#**********  End  **********

答案:

import random

n = random.randint(1, 100)
guess = int(input("请输入你的猜测数:"))
if guess > n:
    print("你的猜测数太大")
    print()
elif guess < n:
    print("你的猜测数太小")
    print()
else:
    print("恭喜你猜对了")

第3题

题目:从键盘输入两个整数x和y,按从大到小顺序排列。

输出示例:
【请输入第一个整数:】43
【请输入第二个整数:】67
从大到小排列67  43

------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
#**********Program**********



#**********  End  **********

答案:

x = int(input("【请输入第一个整数:】"))
y = int(input("【请输入第二个整数:】"))
if x > y:
    print("从大到小排列%d  %d" % (x, y))
else:
    print("从大到小排列%d  %d" % (y, x))

第4题

题目:编写函数,定义可变长参数的函数计算各数字累加和的函数
      mysum(a,b,*c),并编写测试代码

说明:补充完整函数my_sum(),其中给定变量total作为函数返回值

要求:分别输出my_sum(31,64)和my_sum(1263,2291,303,4323,587)
      
例如:my_sum(1,2,3,4,5),则输出如下结果
15
>>> 

------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def my_sum(a,b,*c):
    total=0
#**********Program******



#**********end**********

def main():
    print(my_sum(31,64))
    print(my_sum(1263,2291,303,4323,587))
                
if __name__ == '__main__':
    main() 

答案:

    total = a + b
    for n in c:
        total = total + n
    return total

第5题

题目:从键盘输入三个整数x、y和z,计算并输出三个数中最大数m和最小数n。

说明:变量x、变量y和变量z从键盘输入,最大数使用变量m和最小数使用变量n。

输出示例:
【从键盘输入一个数x:】3
【从键盘输入另一个数y:】6
【从键盘输入另一个数z:】7
最大数:7,最小数:3 
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
#**********Program**********



#**********  End  **********
print("最大数:%d,最小数:%d "%(m,n))

答案:

x = int(input("【从键盘输入一个数x:】"))
y = int(input("【从键盘输入另一个数y:】"))
z = int(input("【从键盘输入另一个数z:】"))
m = max(x, y, z)
n = min(x, y, z)

第6题

题目:从键盘输入一年份year,判断年份是否为闰年(年份能被4整除但不能被100整除,
      或者能被400整除)。
      如果是闰年,显示"是闰年",如果不是闰年,显示"不是闰年"。

说明:年份year从键盘输入一个整数。

输出示例:

【请输入年份:】2020
2020是闰年

【请输入年份:】2018
2018不是闰年
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
#**********Program**********



#**********  End  **********

答案:

year = int(input("【请输入年份:】"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print("%d是闰年" % year)
else:
    print("%d不是闰年" % year)

第7题

题目:编写程序计算Fibonacci数列的第n项(n为一个正整数),n从键盘输入。

说明:若n=15,则Fibonacci数列的第15项为610
      若n=20,则Fibonacci数列的第20项为6765。
Fibonacci数列的定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)
如:1、1、2、3、5、8、13、21、34、……

要求:1.判断输入1或者2的情况
      2.采用递归算法

------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def Fibonacci(i):
#**********Program**********



#**********end**********    
if __name__=='__main__':
    n=int(input("【请输入Fibonacci数列的第n项=】"))
    print('【Fibonacci数列的第%d项为】%d'%(n,Fibonacci(n)))

答案:

    if (i == 1 or i == 2):
        return 1
    else:
        return Fibonacci(i - 1) + Fibonacci(i - 2)

第8题

题目:求分段函数  y=2*x  (x>=0)
                y=x**2  (x<0)    
      x(可以是小数)从键盘输入,输出y的值。

输出示例:

【请输入一个数:】5
10.0

【请输入一个数:】-5
25.0             
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
#**********Program**********



#**********  End  **********

答案:

x = float(input("【请输入一个数:】"))
if x >= 0:
    y = 2 * x
else:
    y = x * x
print(y)

第9题

题目:打印如下九九乘法表

1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9 
2*1= 2 2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 
3*1= 3 3*2= 6 3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 
4*1= 4 4*2= 8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

要求:使用for循环的方式完成
 
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
    #**********Program**********


    #**********  End  **********
if __name__ == '__main__':
    main()  

答案:

    for i in range(1, 10):
        for j in range(1, 10):
            print('{}*{}={}'.format(i, j, i * j), end=' ')
        print()

第10题

题目:编程序计算形式如:sum=a+aa+aaa+aaaa+…+aaa…aaa的表达式的值。

说明:补充完整函数fun(),其中a为小于10的自然数,n为项数,给定
      变量result作为函数返回值,变量ts作为每项数值
      
例如:若a=2,n=4,则sum=2+22+222+2222=2468。

------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def fun(a,n):
    result,ts=0,0
#********** Program ******



#********** End **********

if __name__=='__main__':
    a=int(input("【请输入一个整数(1--9):】"))
    n=int(input("【请输入表达式求和的项数:】" ))
    sum=fun(a,n)
    print('【sum=】%d'%sum)

答案:

    if 0 < a < 10:
        for i in range(n):
            ts = ts * 10 + a
            result = result + ts
        return result

若有错误或疑问,欢迎评论区留言讨论。

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
题目1 ```python # 编写一个函数,接受两个参数,分别为一个整数n和一个列表lst,返回lst中所有小于n的数字的平方 def square(n, lst): return [i**2 for i in lst if i<n] ``` 题目2 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中每个单词首字母大写后的字符串 def capitalize_words(s): return ' '.join([word.capitalize() for word in s.split()]) ``` 题目3 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中最长的单词 def longest_word(s): return max(s.split(), key=len) ``` 题目4 ```python # 编写一个函数,接受一个列表作为参数,返回该列表中所有数字的平均值 def mean(lst): return sum(lst) / len(lst) ``` 题目5 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中所有数字的和 def sum_of_numbers(s): return sum([int(i) for i in s if i.isdigit()]) ``` 题目6 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中所有大写字母的个数和小写字母的个数 def count_upper_lower(s): upper_count = len([i for i in s if i.isupper()]) lower_count = len([i for i in s if i.islower()]) return upper_count, lower_count ``` 题目7 ```python # 编写一个函数,接受一个列表作为参数,返回该列表中所有数字的个数和非数字的个数 def count_numbers(lst): num_count = len([i for i in lst if isinstance(i, (int, float))]) non_num_count = len([i for i in lst if not isinstance(i, (int, float))]) return num_count, non_num_count ``` 题目8 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中所有单词的个数 def count_words(s): return len(s.split()) ``` 题目9 ```python # 编写一个函数,接受一个整数n作为参数,返回一个n行n列的由数字1和0交替组成的方阵 def alternating_matrix(n): matrix = [] for i in range(n): row = [] for j in range(n): if (i+j) % 2 == 0: row.append(1) else: row.append(0) matrix.append(row) return matrix ``` 题目10 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中所有元音字母的个数 def count_vowels(s): vowels = 'aeiouAEIOU' return len([i for i in s if i in vowels]) ``` 题目11 ```python # 编写一个函数,接受一个字符串作为参数,返回该字符串中所有连续重复的字母的个数 def count_repeated_letters(s): count = 0 for i in range(len(s)-1): if s[i] == s[i+1]: count += 1 return count ``` 题目12 ```python # 编写一个函数,接受一个数字n作为参数,返回一个长度为n的斐波那契数列列表 def fibonacci(n): if n == 1: return [0] elif n == 2: return [0, 1] else: fib_list = [0, 1] for i in range(2, n): fib_list.append(fib_list[i-1] + fib_list[i-2]) return fib_list ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

juechen333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值