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. 
B. 
C. 
D. 

答案: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

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

你可能感兴趣的:(Python,python,算法,开发语言,Python计算机二级)