收集了一些经典Python计算机二级和Python期末考试题库
整理不易,大家点赞收藏支持一下
祝大家计算机二级和期末考试都高分过
系列文章:
目录
第15题
一、填空
1、整型变量x中存放了两位数,要求出这两位数的十位数字,例如31得到3,正确的python表达式是【】
参考答案:x//10
2、python语言中的文件定位语句【】,可以帮助我实现文件的随机读写。
参考答案:seek()
3、len([x**2 for x in range(10)if x%3==0]) 的值是【】
参考答案:4
4、已知 x=3,那么执行语句x+ =6之后,x的值为【】
参考答案:9
5、在python集成开发环境中,可使用快捷键【】运行程序。
参考答案:F5
6、语句 int(‘2’)+3 执行的输入结果是【】
参考答案:5
7、循环结构中,【】语句用于中断当前循环的执行,跳出循环结构。
参考答案:break
8、下列python语句的输出结果是【】
d = lambda p: p * 2
t = lambda p: p * 3
x = 2
x = d(x)
x = t(x)
x = d(x)
print(x)
参考答案:24
9、下列python语句的输出结果是【】
def f(a, b):
if b == 0:
print(a)
else:
f(b, a % b)
print(f(9, 6))
参考答案:3 None
10、命令既可以删除列表中的一个元素,也可以删除整个列表。
参考答案:del
11、len([x for x in range(10)if x%2==0]) 的值是【】
参考答案:5
12、使用math模块库中的函数时,必须使用【】语句导入该模块。
参考答案:import math
13、a=’Python’ ,表达式a[1]的结果为(“【1】”)。
参考答案:y
14、python的数字有4种类型:整数,浮点数,布尔值和【】
参考答案:复数
15、已知列表x=[0],x*5的值为【1】
参考答案:[0,0,0,0,0]
16、
t = (3, 4, 5, 6, 7, 8)
t[1:5:2] = 【1】
参考答案:(4,6)
17、
list1 = [3, 2, 5, 7]
list1.sort() = 【1】
参考答案:[2,3,5,7]
18、a,b=2,3,则a==2 or b==3的值为【1】
参考答案:True
19、a=7,a+ =3的值为【1】
参考答案:10
20、python可以使用【】函数打开文件。
参考答案:open
二、程序填空
第1题
以下程序键盘输入任意字母数字串,输出时小写字母转换成大写字母,其他不变
**********space************
s = input("请输入任意字母数字串:")
for i in 【11】(len(s) - 1):
if ord(s[i]) >= 97 and 【12】:
s = s[:i] + chr(ord(s[i]) - 32) + s[i + 1:]
print("转换后的字符串:", s)
参考答案
【11】range
【12】ord(s[i]) <= 122
第2题
输入密文,输入‘q’结束,解密输出明文,无法转换的用‘?’替代
**********space************
code = ('a', 'b', 'c', 'd', 'e', 'A', 'B', 'C', 'D', 'E')
while True:
d = ''
s = input("请输入密文,q退出:\n")
if s == 'q':
【13】
for i in range(len(s)):
if s[i] in code:
p = code.index(s[i])
d = d + 【14】
else:
d = d+'?'
print("明文是:\n", d)
参考答案
【13】break
【14】str(p)
第3题
以下程序验证18位身份证号码是否合法
**********space************
factor = (7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
last = ("1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2")
s =【15】("请输入18位身份证号:")
p = 0
if len(s) != 18:
print("输入错误!")
else:
for i in (【16】):
p += factor[i] * int(s[i])
if (p % 11 == last.index(s[-1])):
print("合法身份证!")
else:
print("非法身份证号")
参考答案
【15】input
【16】range(17)
第4题
题目:以下程序将下列列表中偶数变成其平方,其他不变。
**********space************
s = [2, 3, 56, 23, 89, 90, 12, 33, 67, 59]
for i in range(【17】):
if 【18】:s[i] = s[i] * s[i]
print(s)
参考答案
【17】len(s)-1
【18】s[i]%2 == 0
第5题
题目:以下程序从键盘输入任意个列表元素,输入0结束,去掉重复元素输出
例如:输入1,1,3,3,5,输出1,3,5
**********space************
aa = []
bb = []
a = int(input('请输入整数:'))
while a != 0:
aa.【19】
a = int(input('请输入整数,输0结束:'))
print(aa)
for i in aa:
if 【20】:
bb.append(i)
print("去掉重复元素后的列表:", bb)
参考答案
【19】append(a)
【20】i not in bb
三、程序设计
第1题
题目:打印如下九九乘法表
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*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=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,i):
print(' '*6, end=' ')
for j in range(i,10):
print('%s*%s=%2s' %(i,j,i*j), end=' ')
print()
第2题
从键盘输入一年份year,判断年份是否为闰年(年份能被4整除但不能被100整除,或者能
被400整除)。如果是闰年,显示"是闰年",如果不是闰年,显示"不是闰年"。
说明:年份从键盘输入一个整数。
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End **********
参考答案
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("%d是闰年" % year)
else:
print("%d不是闰年" % year)
第3题
从键盘输入年份year,输出当年的年历table。
说明:年份从键盘输入,调用calendar模块中的calendar函数。
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End **********
参考答案
import calendar
year = int(input("请输入年份:"))
table = calendar.calendar(year)
print(table)
第4题
从键盘输入两个整数x和y(x>y),计算并输出两个整数的商t和余数d(都取整数)。
说明:x和y从键盘输入。
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End **********
参考答案
x = int(input("从键盘输入一个数x:"))
y = int(input("从键盘输入另一个数y:"))
t = x / y
d = x % y
print("x和y 商:%d,余数:%d " % (t, d))
第5题
题目:用户输入若干个分数,求所有分数的平均分。每输入一个
分数后询问是否继续输入下一个分数,回答"y"、"n"
之外的字符就提示只能输入y或n并继续询问是否继续输入
下一个分数,回答"y"就继续输入下一个分数,回答"n"
就停止输入,结束程序
例如:
【请输入成绩:】90
【继续输入成绩吗?(y/n)】y
【请输入成绩:】91
【继续输入成绩吗?(y/n)】y
【请输入成绩:】92
【继续输入成绩吗?(y/n)】y
【请输入成绩:】93
【继续输入成绩吗?(y/n)】y
【请输入成绩:】94
【继续输入成绩吗?(y/n)】y
【请输入成绩:】95
【继续输入成绩吗?(y/n)】t
【只能输入y或n】
【继续输入成绩吗?(y/n)】n
【输入的所有分数的平均分为】92.50
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
number = 0
total = 0
while True:
chenji = float(input("【请输入成绩:】"))
#**********Program**********
#********** End **********
flag = input('【继续输入成绩吗?(y/n)】')
if flag not in ('y', 'n'):
print('【只能输入y或n】')
else:
break
if flag == 'n':
break
print('【输入的所有分数的平均分为】%.2f'%(total/number))
if __name__ == '__main__':
main()
参考答案
number += 1
total += chenji
while True:
第6题
题目:分别输入两个整数以及一个加减乘除中的算术运算符,输出运算结果,
若输入其它运算符,则退出程序;
例如:输出格式如下
【输入一个整数:】1
【输入另一个整数:】2
【输入+-*/算术运算符,其它字符结束:】+
1+2=3
【输入一个整数:】3
【输入另一个整数:】4
【输入+-*/算术运算符,其它字符结束:】-
3-4=-1
【输入一个整数:】5
【输入另一个整数:】6
【输入+-*/算术运算符,其它字符结束:】*
5*6=30
【输入一个整数:】7
【输入另一个整数:】8
【输入+-*/算术运算符,其它字符结束:】/
7/8=0.875
【输入一个整数:】9
【输入另一个整数:】0
【输入+-*/算术运算符,其它字符结束:】=
>>>
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
while True:
x=int(input("【输入一个整数:】"))
y=int(input("【输入另一个整数:】"))
op=input("【输入+-*/算术运算符,其它字符结束:】")
#********** Program ******
#********** End **********
if __name__ == '__main__':
main()
参考答案
oper = ('+', '-', '*', '/')
if op not in oper:
break
dict1 = {'+': x + y, '-': x - y, '*': x * y, '/': x / y}
print("%s%s%s=%s" % (x, op, y, dict1.get(op)))
第7题
从键盘输入一个人姓名name和年龄age,判断这个人是否符合驾校考试(年龄大于等于18岁
符合驾校考试)。
说明:如果从键盘输入姓名Jack
年龄 19
显示:Jack 符合驾校考试年龄
如果从键盘输入姓名Jack
年龄 15
显示:Jack不符合驾校考试年龄
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End **********
参考答案
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
if age >= 18:
print("%s符合驾校考试年龄 " % name)
else:
print("%s不符合驾校考试年龄" % name)
第8题
题目:编写程序,输出如下所示图案。
*
* * *
* * * * *
* * * * * * *
* * * * * * *
* * * * *
* * *
*
要求:使用for循环的方式完成
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
for i in range(1,5):
for j in range(4-i):
print(" ",end=" ")
for j in range(1,2*i):
print("*",end=" ")
print("\n")
#**********Program**********
#********** End **********
if __name__ == '__main__':
main()
参考答案
for i in range(4, 0, -1):
for j in range(4 - i):
print(" ", end=" ")
for j in range(1, 2 * i):
print("*", end=" ")
print("\n")
第9题
题目:用户输入若干个分数,求所有分数的平均分。每输入一个
分数后询问是否继续输入下一个分数,回答"yes"、"no"
之外的字符就提示只能输入yes或no并继续询问是否继续输入
下一个分数,回答"yes"就继续输入下一个分数,回答"no"
就停止输入,结束程序
例如:
【请输入成绩:】90
【继续输入成绩吗?(yes/no)】yes
【请输入成绩:】91
【继续输入成绩吗?(yes/no)】yes
【请输入成绩:】92
【继续输入成绩吗?(yes/no)】n
只能输入yes或no
【继续输入成绩吗?(yes/no)】no
【所有分数的平均分为】91.00
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
number=0
total=0
while True:
chenji=float(input("【请输入成绩:】"))
number+=1
total+=chenji
while True:
flag = input('【继续输入成绩吗?(yes/no)】')
#********** Program ********
#********** End **********
print('【所有分数的平均分为】%.2f'%(total/number))
if __name__ == '__main__':
main()
参考答案
if flag not in ('yes', 'no'):
print('只能输入yes或no')
else:
break
if flag == 'no':
break
第10题
题目:编程输出列表元素最大值,和最小值。求s=[12,34,56,1,9,80]
例如:s=[1,2,3,4,5,6],则输出如下:
列表最大值: 6
列表最小值: 1
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
#********** Program ******
#********** End **********
if __name__ == '__main__':
main()
参考答案
s = [12, 34, 56, 1, 9, 80]
print("元组最大值:", max(s))
print("元组最小值:", min(s))
第11题
两个数x和y, 按从大到小顺序排列。
说明:从键盘输入43,67
从大到小排列 67 43
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End **********
参考答案
x = int(input("请输入第一个整数:"))
y = int(input("请输入第二个整数:"))
if x > y:
print("从大到小排列%d %d" % (x, y))
else:
print("从大到小排列%d %d" % (y, x))
第12题
题目:计算前n个自然数的阶乘之和1!+2!+3!+...+n!的值
------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------
def main():
n = int(input("【请输入一个正整数n: 】"))
result, sum = 1, 1
#**********Program**********
#********** End **********
print('%d' %result)
if __name__ == '__main__':
main()
参考答案
for i in range(2, n+1):
sum *= i
result += sum
第13题
题目:从键盘输入爸爸年龄dad,儿子年龄son,计算父子的年龄差距diff并输出。
说明:爸爸年龄dad,儿子年龄son都是整数从键盘输入。
------------------------------------------------------
注意:语句要写在带***Program**和*****End****之间。
------------------------------------------------------
#**********Program**********
#********** End ******
参考答案
dad=int(input("从键盘输入爸爸年龄:"))
son=int(input("从键盘输入儿子年龄:"))
diff=dad-son
print("父子年龄差距离:",diff)
第14题
题目:从键盘输入某同学语文成绩chinese,数学成绩math(可以是小数),计算并输出总成绩sum
和平均成绩avg,小数点后保留一位。
说明:语文成绩chinese,数学成绩math(可以是小数)从键盘输入。
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End ******
参考答案
chinese = float(input("从键盘输入语文成绩:"))
math = float(input("从键盘输入数学成绩:"))
sum = chinese + math
avg = sum / 2
print("总成绩:%.1f,平均成绩:%.1f"%(sum,avg))
第15题
题目:从键盘输入圆的半径r,计算并输出圆的周长c和面积s(小数点后保留两位数字)。
说明:半径r(可以是小数)从键盘输入。圆周率调用math模块中pi函数。
------------------------------------------------------
注意:语句要写在带***Program**和 ***** End ****之间。
------------------------------------------------------
#**********Program**********
#********** End ******
参考答案
import math
r = float(input("圆的半径:"))
c = 2 * math.pi * r
s = math.pi * r* r
print("圆的周长:%.2f,圆的面积:%.2f"%(c,s))
若有错误或疑问,欢迎评论区留言讨论。