python程序设习题答案
第一章
1.在下列领域中,使用 Python 不可能实现的是( C )
A . Web 应用开发
B .科学计算
C .操作系统管理
D .游戏开发
2.Python程序文件的扩展名是( D )。
A.python B.pyt C.pt D.py
3.以下叙述中正确的是( C )。
A . Python 3.x与 Python 2.x兼容
B . Python 语句只能以程序方式执行
C . Python 是解释型语言
D . Python 语言出现得晚,具有其他高级语言的一切优点4.Python是一种( B )类型的编程语言。
A 机器语言 B.编译 C .解释 D .汇编语言
5.以下不属于 Python 语言特点的是( B )。
A.语法简洁
B.依赖平台
C.支持中文
D.类库丰富
6.Python的输入来源包括( D )。
A.文件输入
B.控制台输入
C.网络输入
D.以上都是
7.关于 Python 语言,以下说法错误的是( B )。
A . Python 是从 ABC 发展起来的
B . Python 源程序需编译和连接后才可生成可执行文件
C . Python 是开源的,它可以被移植到许多平台上
D . Python 是一门高级的计算机语言
8.下列关于 Python2.x与python3.x的说法,错误的是 ( B )
A . Python 3.默认使用UTF-8编码
B . Python 2.x与python 3.x中的print语句的格式没有变化
C . Python 2.x默认使用ASCII
D . Python 2.x与python 3.x 中运算符“//”的使用方法一致
9.Pyth语句print(“1+2”)的输出是( D )
A.(“1+2”) B.”1+2” C.3 D.1+2
10.关于python语言的特点,以下选项中描述错误的是( A )
A.python语言收跨平台语言B.python语言是脚本语言
C.python语言是非开源语言D.python语言是多模型语言
二、思考题
1、请说明python程序设计语言的主要特点
(1)简单罚学.高级语言.解释型语言,可移植性、面向对象.强大的功能、开源,可扩展性、丰富的库、规范代码
2、python程序设计语言的主要用途是什么?
(2)网络爬虫、数据科学.图形处理数据处理、数据库编程、多媒体应用、游戏开发、人工智能和机器学习
第2章Python基本语法
1.Python3.x版本的保留字总数是( A )。
A.33 B.27 C.16 D.29
2.以下选项中,不是Python语言保留字的是( B )。
A.from B.except C.go D. while
3.在Python3.x中,下列输出变量a的正确写法是( D )。
A. print a B.print(a) C.print“ a” D.print(“a")
4.关于Python语言的注释,以下选项中描述错误的是( D )。
A.Python语言有两种注释方式:单行注释和多行注释
B.Python语言的单行注释以﹟开头
C.Python语言的多行注释以1' '(三个单引号)开头和结尾
D.Python语言的单行注释以单引号(')开头
5.以下选项中不符合Python 语言变量命名规则的是( C )。
A.MyName B.*_1 C.x D._Y
6.以下选项中符合Python语言变量命名规则的是( B )。
A.* *Python B.name_1 C.for D.def
7.在一行上写多条Python语句使用的符号是( A )。
A.分号 B.逗号 C.冒号 D.点号
8.关于Python注释,以下选项中描述错误的是(A)
A.Python注释语句也被执行
B.注释可用于标明作者和版权信息
C.注释可以辅助程序调试
D.注释用于解释代码原理或者用途
9.关于Python赋值语句,以下选项中不合法的是( A )。
A.x=(y=1) B.x,y=y,x C.x=1;y=1 D.x=y=1
10.关于Python 程序中与“缩进"有关的说法,以下选项中正确的是( B )。
A.缩进可以用在任何语句之后,表示语句间的包含关系
B.缩进在程序中长度统一且强制使用
C.缩进统一为4个空格
D.缩进是非强制性的,仅为了提高代码可读性
11.在Python函数中,用于获取用户输入的是( C )
A.eval() B.print() C.input() D.get()
12.Python语言中,以下表达式输出结果为11 的选项是( B )。
A.print(eval("1"+1)) B.print(eval("1"+"1"))
C.print(1+1) D.print(eval("1+1"))
13.关于Python 基本输入输出函数,描述错误的是( C )。
A.print函数用于输出运算结果
B.eval()函数也称为评估函数,可以去掉字符串最外侧的引号
C.input函数从控制台获得用户的输入,可以按照多种数据类型输出,例如浮点型字符型、列表型等
D.以下代码输出为1.68
x=eval("1.68")
print(x)
14.下面选项中,描述错误的是( C )。
A.Python可以在同一行中使用多条语句 ,语句之间使用分号(;)分割
B.Python是强面向对象的语言,程序中任何内容统称为对象,包括数字、字符串 、函数等
C.Python 使用缩进来表示代码块,缩进的空格数固定为4 个
D.Python通常是一行写完一条语句 ,但如果语句很长, 可以使用反斜杠(l)来实现一条语句多行
15.语句eval('3.14+6')执行后的输出结果是( B )。
A.9 B.9.14 C.3.14+6 D.'3.14+6'
二、程序设计题
1.编写程序,输出如下语句:
****** * * *** * ** * * * *
Hello Python!
********************
Print(Hello Python!)
2.获得用户输入的一个整数N,计算并输出N的3次方。
n = eval(input())
#eval() 函数用来执行一个字符串表达式,并返回表达式的值。
print(n**32)
3.获得用户输入的两个数x和 y,交换x和y的值并输出。
x=input('please input x')
y=input('please input y')
z=input('please input z')
print ('xyz交换前的值:{},{},{}'.format(x,y,z))
x,y,z=y,z,x
print ('xyz交换后的值:{},{},{}'.format(x,y,z))
第3章基本数据类型
一、选择题
1.关于Python 的数字类型,以下选项中描述错误的是( B )。
A.1.0是浮点数,不是整数
B.浮点数也有十进制、二进制、八进制和十六进制等表示方式
C.整数类型的数值一定不会出现小数点
D.复数类型虚部为0时,表示为1+0j
2.以下是八进制数字的是( C )。
A.0b071 B.0a1010 C.0o651 D.0x345
3.关于 Python 的浮点数类型,以下选项中描述错误的是( B )
A . sys . float _ info 可以详细列出 Python 解释器所运行系统的浮点数各项参数
B . Python 的浮点数可以不带小数部分
C .浮点数有两种表示方法:十进制表示和科学计数法
D .浮点数类型与数学中实数的概念一致,表示带有小数的数值4.下列关于 Python 字符串的说法中,错误的是( C )
A .字符串是用来表示文本的数据类型
B . Python 中可以使用单引号、双引号、三引号定义字符串 C .单引号定义的字符串中不能包含双引号字符
D .使用三引号定义的字符串可以包含换行符
5.关于 Python 字符串,以下选项中描述错误的是( B )。
A .字符串是一个字符序列,字符串中的编号叫"索引"
B .可以使用 datatype() 测试字符串的类型
C .输出带有引号的字符串,可以使用转义字符"\"
D .字符串可以保存在变量中,也可以单独存在
6.关于 Python 的复数类型,以下选项中描述错误的是( C )
A .对于复数 z ,可以用 z . real 获得它的实数部分
B .复数的虚数部分通过后缀" J "或者" j "来表示
C .对于复数 z ,可以用 z . imag 获得它的实数部分
D .复数类型表示数学中的复数
7.代码 print ("{1:}:{0:.6f}".format (3.1415926,"π"))
的输出结果是( A )。
A π:3.141593 B.π:3.14159 C .3.141593:π D.3.14159: π
8.关于 Python 字符编码,以下选项中描述错误的是( C )
A . Python 可以处理任何字符编码文本
B . Python 默认采用 Unicode 字符编码
C . chr ( x )将字符转换为 Unicode 编码
D . ord ( x )和 chr ( x )是一对函数
9.下列函数中,可以将数值类型转换为字符串的是( D )。
A . complex B . int () C . float () D,str()
10.表达式3+5%6*2//8的值是( D )。
A .6 B .7 C.5 D.4
11.已知变量 name ="张三"、 age =18,下列字符串格式化输出错误的是( D )。
A.print('我叫%s,今年我%d岁了'%( age ,name))
B.print('我叫%s,今年我%d岁了'%(name,age))
C.print('我叫{},今年我{}岁了'.format(name,age))
D.print(‘f’我叫{name},今年我{age}岁了')
12.s="0123456789”,以下表示“0123”的选项是( D )。
A.s[-10:-5] B.s[1:5] C.s[0:3] D.s[0:4]
13.表达式len("我爱Python程序设计。") >len("Hello world!")的结果是( D )
A.1 B.0 C.False D.True
14.以下不是Python内置数据类型的是( A )。
A.char B.int C.float D.list
15.(多选)下列关于字符串操作的说法中,正确的是( BD)。
A.字符串支持加减乘除操作
B.字符串可以使用“+”符号进行拼接
C.字符串可以使用split()方法替换子串
D.字符串可以使用strip( )方法去除两侧多余的空格
二、程序设计题
1.输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。
decimal_num = int(input("请输入一个十进制整数:"))
# 将十进制整数转换为二进制字符串
binary_num = bin(decimal_num)
binary_num = binary_num[2:] # 去掉前缀"0b"
# 将十进制整数转换为八进制字符串
octal_num = oct(decimal_num)
octal_num = octal_num[2:] # 去掉前缀"0o"
# 将十进制整数转换为十六进制字符串
hexadecimal_num = hex(decimal_num)
hexadecimal_num = hexadecimal_num[2:] # 去掉前缀"0x"
print("二进制表示:", binary_num)
print("八进制表示:", octal_num)
print("十六进制表示:", hexadecimal_num)
2.输入字符串s,输出一个宽度为10字符串,字符串 s居中显示,以“*"填充的格式。如果输入字符串超过 10个字符,则输出s的前10个字符。
s = input('请输入一个字符串:')
if len(s)<21:
print('{:=^20}'.format(s))
else:
print(s)
3.获得用户输入的一个字符串 ,请输出其全部小写形式和全大写形式
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int len;
int i=0;
printf("请输入一段字符串:");
gets(str);
len=strlen(str);
for(i=0;i<len;i++)
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;//小写转换成大写是减32,大写转换成小写是加上32
}
puts(str);
}
4.已知字符串s="python程序设计" ,请将字符串两侧的空格去除,并将小写字母p替换为大写字母P。
s = " python 程序设计 "
# 去除字符串两侧的空格
s_trimmed = s.strip()
print(s_trimmed)
# 输出结果为:'python 程序设计'
# 将小写字母p替换为大写字母P
result = s_trimmed.replace('p', 'P')
print(result) # 输出结果为:'PyThon 程序设计'
第4章程序控制结构
一、选择题
1.关于Python的分支结构,以下选项中描述错误的是( A ) 。
A.分支结构可以向已经执行过的语句部分跳转
B.Python中if-elif-else语句描述多分支结构 员额电
C.分支结构使用if保留字 了
D.Python中if-else语句用来形成双分支结构
2.下列关于for循环的说法中,描述正确的是( A )。
A.for循环可以遍历可迭代对象
B.for循环不能嵌套使用
C.for循环不可以与if语句一起使用
D.for循环能控制循环执行的次数
3.以下选项中能够实现Python循环结构的是( C )。
A.if B.pass C.for D.else
4.关于程序的异常处理,以下选项中描述错误的是( B )。
A.程序异常发生后经过妥善处理可以继续执行
B.编程语言中的异常和错误是完全相同的概念
C.Python通过try、except 等保留字提供异常处理功能
D.异常语句可以与else和finally保留字配合使用
5.以下关于break语句和 continue语句的说法中,错误的是( B )。
A.break语句的作用是结束当前循环,跳出它所在的循环结构
B.continue语句的作用是终止执行本次循环尚未运行的代码
C.在当前循环中,continue语句经常与 if语句结合使用
D.在循环嵌套中,break 语句可以同时跳出多层循环
6.以下程序的输出结果是( B )。
for i in"Python":
ifi=="h":
break
print(i,end="")
A.Python B.h C.无输出 D.Pyt
7.给出下面代码:
i=0
whilei<5:
j=5
while j>i:
print("*",end=")
j-=1
print("\n")
i+=1
以下选项中描述错误的是( C )。
A.无输出结果
B.第1行有5个星号*
C.内层循环j用于控制每行打印*的个数
D.输出S行
8.下列关于pass语句描述正确的是( D )。
A.在Python中,pass就是空语句
B.pass语句会终止本次循环
C.pass语句起到注释说明作用
D.以上都正确
9.下列程序代码运行结果是( A )。
sum=0
foriin range(10):
sum+=i
print(sum)
A.55 B.45 C.10 D.44
10.下列程序代码的循环次数是( D )。
i=0
while i<10:
if i<0:
continue
if i==5:
break
i+=1
primt(i)
A.4 B.5 C.6 D.无限循环
二、程序设计题
1.编写程序实现系统登录账号检测功能。 系统登录一般具有账号密码检测功能,即检测用户输入的账号和密码是否正确。 若用户输入的账号或密码不正确,则提示"用户名或密码错误"和"您还有*次机会";若用户输入的账号和密码正确,则提示“登录成功”;若输入的账号或密码错误次数超过3 次,则提示“输入错误次数过多,请稍后再试”。
# 定义变量
s = 3 # 设置登录次数
# 设置账号密码
user = input('请设置账号:')
password = input('请设置密码:')
print('已注册成功!')
while True:
# 带提示语输入赋值
a_user = input('请输入账号:')
a_password = input('请输入密码:')
# 登陆成功
if user == a_user and password == a_password:
print('登录成功!')
break
# 账号密码错误
else:
print('账号和密码错误!', end='')
if s != 1:
print('还有{}次机会'.format(s - 1))
# 结束条件
if s <= 1:
print('\n输入次数过多,账号已被冻结!')
break
s -= 1 # 记录输入次数
2.编写程序实现以下功能;输入若干个学生的成绩,统计分数低于60分的学生人数比例。
scores = [ ]
n = int(input("请输入学生人数:"))
for i in range(n):
score = float(input(“请输入第{个学生的成绩:".format(i+1)))
scores. append(score)
low_scores = [score for score in scores if score < 60]low_scores_count = len( low_scores)
low_scores_ratio = ( low_scores_count / n)*100
print("低分学生人数比例:{:.2f}%".format( low_scores_ratio))
3.编写程序实现"计算器"功能,输入两个运算数x、y和运算符,实现加、 减、乘、除四则运算,当进行除法运算时,若除数为0,则显示“除数不能为0!”
def calculate():
# 输入两个运算数和运算符
x = float(input("请输入第一个运算数: "))
y = float(input("请输入第二个运算数: "))
operator = input("请输入运算符(+,-,*,/): ")
# 根据运算符执行相应的操作
if operator == '+':
print(f"{x} + {y} = {x + y}")
elif operator == '-':
print(f"{x} - {y} = {x - y}")
elif operator == '*':
print(f"{x} * {y} = {x * y}")
elif operator == '/':
# 检查除数是否为0
if y == 0:
print("除数不能为0!")
else:
print(f"{x} / {y} = {x / y}")
else:
print("无效的运算符")
# 运行程序
calculate()
4.猜数游戏。由电脑随机生成一个1~100中的数字,用户输入一个数字,若猜测的数字大于随机生成的数字,则提示"很遗憾,你猜大了";若猜测的数字小于随机生成的数字,则提示"很遗憾,你猜小了";若在规定的次数内猜中随机生成的数字,则提示"恭喜,猜数成功",本题设置3次机会。
import random
def guess_number_game():
number_to_guess = random.randint(1, 100)
guesses = 0
while guesses < 3:
user_guess = int(input("请输入一个1~100的数字:"))
guesses += 1
if user_guess > number_to_guess:
print("很遗憾,你猜大了")
elif user_guess < number_to_guess:
print("很遗憾,你猜小了")
else:
print("恭喜,猜数成功!")
break
else:
print("很遗憾,你没有在规定次数内猜中数字。正确答案是", number_to_guess)
if __name__ == "__main__":
guess_number_game()
5.编写程序:打印一个实心等腰三角形。
n = 5 # 可以更改这个值来改变三角形的大小
for i in range(n):
for j in range(i):
print("*", end="")
print()
6.编写程序:打印一个空心三角形。
n = 5 # 可以更改这个值来改变三角形的大小
for i in range(n):
for j in range(i):
print(" ", end="")
for j in range(2 * (n - i) - 1):
print("*", end="")
print()
7.编写程序求解鸡兔同笼问题:鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?8.编写程序输出所有四位整数中的回文数并统计个数。一个数若左右对称则称为回文数,如5885。
第5章异常处理
1.关于程序的异常处理,以下选项中描述错误的是( C )。
A . Python 异常语句可以与 else 和 finally 保留字配合使用
B . Python 通过 try 、 except 等保留字提供异常处理功能
C . Python 编程语言中的异常和错误是完全相同的概念
D .程序异常发生后经过妥善处理可以继续执行
2.(多选)程序运行时引发错误的原因有很多,以下错误原因描述正确的有( BCD )。
A .语法格式错误 B.除法运算时除数为0
C .文件不存在 D.组合数据类型元素下标末越界
3.下列关于 try … except …语句的说法,错误的是(A)。 A .程序捕获到异常会先执行 except 语句,然后再执行 try 语句 B .执行 try 语句下的代码,如果引发异常,则执行过程会调到 except 语句
C . except 可以指定错误的异常类型
D . try 子句中如果没有发生异常,则忽略 except 子句中的代码4.下列关于异常的说法,正确的是(C)。
A .语法格式正确的代码不会出现异常
B . try ... except ... else ...句可以捕获异常
C .如果 except 子句没有指明任何异常,可以捕获所有的异常 D .程序中一旦遇到异常便会终止
5.以下 Python 语言关键字在异常处理结构中用来捕获特定类型异常的选项是( D )
A . in B.for C.lambda D . except
6.下列关于 finally 语句块描述正确的是( A )
A .总是被执行
B .异常发生时才执行
C .异常没有发生时才执行
D .当 try 语句块后面没有 catch 时,才会执行 finally 中的代码
7.对以下程序描述错误的是( C )。
try:
#语句块1
except IndexError as i:
#语句块2
A.由于该程序处理了异常, ,因此一定不会终止程序
B.由于该程序处理了异常,因此不一定不会因弃常引发终止
C.语句块1,如果抛出IndexError异常,不会因为异常终止程序
D.语句块2不一定会执行
8.(多选)下列语句中,能捕获异常的有( B )。
A.
try:
9/0
B.
try:
9/0
except:
print("除数不能为0")
C.
Try:
9/0
except Exception as e:
print(e)
D.
try:
9/0
except ZeroDivisionError as e:
print(e)
9.当从键盘输入1,2,3后,以下程序的输出结果是( B )。
try:
num=eval(input("请输入一个列表:"))
num.reverse()
print(num)
except:
print("输入的不是列表")
A.运算错误 B.输入的不是列表 C.[1,2,3] D.[3,2,1]
二、程序设计题
1.编写一个计算减法的方法,当第一个数小于第二个数时,抛出"被减数不能小于减数"的异常。
def subtract(a, b):
if a < b:
raise ValueError("被减数不能小于减数")
else:
return a - b
2.打印输出口除以range(x,y)的所有结果,n、x、从键盘输入。(如果除数为0要做出Python 程序设计异常判断处理)。
# 获取用户输入
n = int(input("请输入一个整数n: "))
x = int(input("请输入一个起始值x: "))
y = int(input("请输入一个结束值y: "))
# 循环遍历x到y之间的所有整数
for i in range(x, y+1):
try:
# 尝试执行除法操作
result = i / n
print(f"{i} 除以 {n} 等于 {result}")
except ZeroDivisionError:
# 如果除数为0,则捕获异常并打印错误信息
print(f"错误:除数不能为0,{i} 除以 {n} 产生了一个 ZeroDivisionError")
3.输入一个数字 n ,如果没有异常就计算并输出10/n的结果,如果产生异常,用户重新输入数字,请完善代码。
while True:
try:
n = float(input("请输入一个数字: "))
if n == 0 or n < 0:
print("输入无效,请输入一个正数")
continue
result = 10 / n
print(f"10 除以 {n} 的结果是 {result}")
break
except ValueError:
print("输入无效,请输入一个数字")
4用*打印一个边长为 n 的正方形, n 为整数。(如果输入不为整数或者负数时要做出异常判断处理)
def print_square(n):
if not isinstance(n, int) or n < 0:
raise ValueError("输入必须为非负整数")
for i in range(n):
for j in range(n):
print("*", end="")
print()
# 测试函数
print_square(5)
5.使用异常处理猜数字游戏,数字在1至20之间,输入非整数,抛出异常。
import random
def guess_number():
number_to_guess = random.randint(1, 20)
print("我想了一个1到20之间的数字,请你来猜一猜:")
while True:
try:
user_input = int(input("请输入你的猜测:"))
if user_input < 1 or user_input > 20:
raise ValueError("输入无效,请输入1至20之间的整数")
if user_input == number_to_guess:
print("恭喜你,猜对了!")
break
elif user_input < number_to_guess:
print("太小了,请再试一次。")
else:
print("太大了,请再试一次。")
except ValueError as e:
print("错误:", e)
print("请重新输入一个有效的整数。")
continue
if __name__ == "__main__":
guess_number()
第6组合数据类型
- Python语句 print ( type ({}))的结果是( B )
A .< class ' tuple '> B.<class,’dict’>
C .< class list '> D.<class,’set’>
- Python语句 a =[1,2,3, None ,(),[],]; print ( len ( a ))的输出结果是( C )。
A .4 B.5 C .6 D.7
3.关于 Python 元组类型的描述,以下选项错误的是( D )。 A .一个元组可以作为另一个元组的元素
B .元组一旦创建就不能被修改
C . Python 中元组采用逗号和圆括号(可选)来表示
D .元组中元素不可以是不同类型
4.关于 Python 字符串,下列说法错误的是( B )。
A .字符即长度为1的字符串
B .字符串以\ O 标志字符串的结束
C .既可以用单引号,也可以用双引号创建字符串
D .在三引号字符串中可以包含换行回车等特殊字符
5.阅读下面程序:
li _ one =[2,1,4,3]
print ( sorted ( li _ one [:2]))
输出结果正确的是( A )。
A .[1,2] B.[2,1] C .[1,2,3,4] D.[4,3,2,1]
6.num=[1,2,3,4,5,6,7,8,9,10],则 list ( num [::2])的结果是( A )。
A .[1,3,5,7,9] B .[2,4,6,8,10]
C .[1,2,3,4,5,6,7,8,9,10] D.[1,2,3,4,5]
7.下列语句中,可以正确创建元组的有( C )。
A.one = tuple('1','2') B.two = (‘q’)
C . three =(' on ',) D.four = (4,)
8.已知 a =[5,4,3],那么执行语句 a[ len ( a ):]=[1,2]之后 list ( a )的结果是( D )。
A .[1,2,5,4,3]
B.[1,2]
C .[5,4,3,2,1]
D .[5,4,3,1,2]
9、下面程序运行结果是( B )
lis =[11,22,33,"123"," hello "]
s =””
for i in lis :
s= s + str ( i )
print(s)
A .123hello B .112233123hello
C .112233 D .112233'123'' hello
10.下列方法中,可以获取字典中所有键的是( A )。
A . keys () B . value () C . list () D . values ()
11.阅读下面程序:
lan_info ={'01':' Python ','02':'Java','03':'PHP'}
lan_info.update({'03':'C ++'})
print (lan_info )
运行程序,输出结果是( D )。
A .{'01':'Python','02':'Java','03':'PHP'}
B .{'03':'C++','01':'Python','02':'Java'}
C .{'01':' Python ','02':' Java '}
D .{'01':' Python ','02':' Java ','03':' C ++'}
12.阅读下面程序:
setl ={'a','e','b','a'}
setl.add ('d')
print ( len ( setl ))
运行程序,以下输出结果正确的是( C )。
A .5 B.2 C .4 D.3
13.元组变量 t =(" cat "," dog "," tiger "," human "), t [::-1]的结果是( B )
A .[' human ',' tiger ',' dog ',' cat ']
B .(' human ',' tiger ',' dog ',' cat ')
C .{' human ',' tiger ',' dog ',' cat '}
D .运行出错
14.下面程序运行结果是( D )
listl =[' wei ',' xiao ',' bao ',123]
list2=[]
foriin list1:
n = str ( i )
list2.append( n )
v="_". join (list2)
print ( v )
A.[' wei ',' xiao ',' bao ',123,'_']
B._ wei _ xiao _ bao _123
C._ wei _ xiao _ bao _123_
D. wei _ xiao _ bao _123
15.下面代码的输出结果是( D )
listl =[1,2,3]
list2=[4,5,6]
print (list1+list2)
A .[5,7,9] B.[1,2,3]
C .[4,5,6] D.[1,2,3,4,5,6]
16.下面代码的输出结果是( B )。
a =[1,2,3]
for i in a [::-1]:
print ( i , end =",")
A .3,1,2, B.,3,2,1,
C .1,2,3, D.2,1,3,
二、程序设计题
1.已知字符串 str =' qwertyasdfskdaskerkjsalkj ',请统计该字符串中各字母出现的次数。#遍历字符串,使用字典记录各个字母及其出现的次数
str =' skdaskerkjsalkj '
count ={}
for i in str :
if i in count.keys():
count [ i ]+=1
else :
count [ i ]=1
print ( count )
{' ': 2, 's': 3, 'k': 4, 'd': 1, 'a': 2, 'e': 1, 'r': 1, 'j': 2, 'l': 1}
第7章函数
1.下列关于函数参数的说法中,错误的是( C )
A .如果需要传入函数的参数个数不确定,可
B .使用关键字参数时需要指出具体形参名
C .* args 以字典保存不定数量的关键字参数
D .定义函数时可以为参数设置默认值参数
2.下列关于 Python 函数的说法中,正确的是( D )。
A .递归函数就是在函数体中调用了自身的函数
B .匿名函数没有函数名
C .匿名函数中可以使用 if 语句
D .匿名函数与使用关键字 def 定义的函数没有区别
3.语句
fl = lambda x : x *2;
f2= lambda x : x **2;
print ( fl ((f2(2))))的运行结果是( D )
A .4 B.6 C.2 D.8
4.若函数为: def r ( x ,**x2): print ( type (x2)),则 r (1, a =2)的运行结果是( C )。
A .< Blasel‘asnt ''str'> C .<class 'dict'> D .<class ' list '>
5.Python中,函数如下:
def numSum(a, b, c):
print(a + b + c)
nums = (1, 2, 3)
numSum(*nums)
若 nums =(1,2,3),则1(* nums )的运行结果是( A )
A .3 B.6 C.1 D.5
6.阅读下面程序:
num_one =12
def sum ( num_two ):
global num_one
num_one=90
return num_one + num_two
print ( sum (10))运行代码,输出结果为( B )
A .10 B100 C.22 D.12
7.阅读下面程序:
def fact ( num ):
if num ==1:
return 1
else:
return num + fact ( num -1)
print(fact(5))
运行的代码,输出结果为( D )。
A .3 B.21 C.1 D.15
二、程序设计题:
1、编写函数,输出1~100中偶数之和。
def evenSum ():
sum = 0
for i in range (1,101):
if i %2==0:
sum += i
return sum
print ( evenSum ())答:2550
2.编写函数,计算20*19*18*…*3的结果。
def multiply ():
p =1
for i in range (3,21):
p *= i
return p
print( multiply ())
答: 1216451004088320000
3.编写函数,给定任意字符串,找出所有在其中只出现一次的字符。 def count _ str ( str ):
dt ={}#声明字典 dt ,用来暂时保存所有的字母和其统计个数,格式为{字母:个数}
dt1={}#声明字典dt1,用来保存所有统计个数为1的字母,格式为{字母:个数}
def count_str(str):
dt={}
dt1={}
for i in str :
dt [ i ]= str . count ( i ,0)
for k,count in dt.items():
if count ==1:
dt1.update({k : count})
return dt1
mystr = input ("请输入需要统计的字符串:")
print ( count_str ( mystr ))
第8章类对象
一、判断题
1.在 Python 中定义类时,如果某个成员名称前有两条下划线则表示是私有成员。( P )
2.Python类不支持多继承。( O )
3.在 Python 定义时实例方法的第一个参数名称不管是什么,都表示对象自身。( P )
4.Python类的构造函数是_ init _( P )。
5.Python中一切内容都可以称为对象。( P )
二、程序设计题
1.定义一个圆类( Circle ),求圆的面积和周长。
2.现有一项业务:" Joker 在 BMW 4S店购买了一俩 BMW X7",根据业务描述,声明相关类。最终输出结果如下: Joker 在BMW4S店购买了一辆BMWx7
class Person:
def init(self, name):
self.name = name
def buy(self):
pass
class CarStore:
def init(self,name):
self.name =name
class Car:
def init(self, name, cartstore):
self.name = name
self.carstore = carstore
person = Person(‘Joker’)
carstore = CarStore(‘BMW’)
car = Car(‘BMW x7’, carstore)
3.创建一个学员类( Student ),并设计三个字段用于表示学生的成绩(语文、数学、英语);然后定义一个列表 list 表示一个班的学生(3人),依次输入每个学生的信息(姓名、学号)和成绩,输入的同时将学员的每科成绩划分等级(90~100:A,80~89:B,70~79:C,60~69:D,60以下: E ),最后输出所有学员的信息。
4.设计一个游戏角色类。属性包含角色名、血量、魔法、状态,方法包含释放技能和被伤害。要求:可自由发挥,但设计要合理。
class Character:
def __init__(self, name, health, mana, status='alive'):
self.name = name # name: 角色的名字。
self.health = health #health: 角色的生命值,初始值为100。
self.mana = mana #mana: 角色的魔法值,初始值为50。
self.status = status #status: 角色的状态,默认为"alive",表示角色存活;如果角色死亡,则状态为"dead"。
def __str__(self):
return f"Name: {self.name}, Health: {self.health}, Mana: {self.mana}, Status: {self.status}"
def is_alive(self):
return self.status == 'alive'
def take_damage(self, damage):
self.health -= damage
if self.health <= 0:
self.status = 'dead'
def cast_spell(self, spell):
if self.mana >= spell.cost:
print(f"{self.name} casts {spell.name}!")
# TODO: Add effect of spell here
self.mana -= spell.cost
else:
print(f"{self.name} does not have enough mana to cast {spell.name}.")
第9章模块
1.模块文件的扩展名是( D )。
A . txt B . html C . exe D . py
2.包目录中必须包含以下哪一个文件?( D )
A ._init_.py B ._name_py
C .use .py D .main.py
3.在使用数学函数时,需要先导入模块,以下命令错误的是( B )。 A . import math B . import math as m
C . from math import * D . import *
4.获取本地的日期和时间的代码是( A )。
A . time . time () B . time . localtime ()
C . time () D . time . now ()
5.时间间隔是以( D )为单位的浮点小数。
A .分 B.秒 C .时 D。天
6.以下哪一个模块是产生随机数的模块?( A )
A . random B.rabdon C . randint D.Random
7.Python第三方模块安装方法正确的是( B )。
A . install 模块名 B .pip install 模块名
C . install pip 模块名 D .pip setup 模块名
8.re模块是( C )。
A .数学模块 B.时间模块 C .正则表达式模块 D。日志模块
9.下列说法错误的是( D )
A . uninstall 是用于卸载已经安装的第三方模块
B . os是访问操作系统服务功能的标准库
C . tkinter 是 Python 进行 GUI 编程的标准库
D . json 是标准算术运算函数的标准库
10.json字符串可以转化为 Python 类型,其方法是( C )。
A .json.loads() B。json.load()
C .json.dumps()、 D.json.dump()
第10章文件与数据
- 下面哪一个是添加(追加)模式打开文件做写入操作?( C )
A.f.open(“f”,”r”) B.f.open(“f”,”w”)
C. f.open(“f”,”a”) D. f.open(“f”,”w+”)
2.关于 Python 对文件的处理,以下选项中描述正确的是( A )。 A .当文件以文本方式打开时,读写按照字节流方式
B .Python 通过 open ()函数打开一个文件后,该文件能够同时被其他程序使用
C . Python 只能以二进制方式打开文件
D .文件使用结束后要用 close ()方法关闭,释放文件的使用授权3.调用 open 函数可以打开指定文件,在 open()函数中访问方式使用( C )表示只读。
A ." a " B ." w +" C ." r " D ." w "
4.执行如下代码:
f = open (" A . png "," rb ")
print ( f . read ())
f .close ()
以下选项中描述正确的是( D )。
A .若改成 f = open (" A . png "," rt "),程序将正常运行 B .运行后显示" A . png "图片中的文字信息
C .运行后显示" A .png "图片对应的编码信息
D .运行后显示" A .png "图片
5.若某文件的绝对路径为: C :\ Users \ Administrator \ Desktop \ image \ car . TIF ,以下的访方式中错误的是( D )。 A .' C :\\ Users \\ Administrator \\ Desktop \ image \\ car . TIF '
B . r ' C : VUsers \ Administrator \ Desktop Vimage \ car .TIF ' C .'
C :/ Users / Administrator / Desktop / image / car . TIF ' D .' C :\ Users \ Administrator \ Desktoplimage \car .TIF'
6.下列哪项不是 Python 中对文件的读取操作?( B )
A . read B.readall C . readlines D.readline
7.执行如下代码:
f = open("E:/Code/data.ixt", "r")
s = f.read()
print(s)
print(type(s))
f.close()
以下选项中描述错误的是( C )。
A . print ( s )将输出文本文件的内容
B . print ( type ( s ))将输出< class ' str '>)表示只读。
C .若将 s = fread ()改为 s = f . readlines (),运行结果一样
D .若将 a = f . read ()改为 s = f . readlines (), print ( type ( s ))将输出<class ‘list’>
8.使用上下文管理关键字( B )可以自动管理文件对象,不论何种原因,结束该关键字中的语句块,都能保证文件被正确关闭。
A . open B . with C . read D . write
9.关于Python文件的'+'打开模式,以下选项中描述正确的是( D )
A .只读模式
B.追加写模式
C .覆盖写模式功能
D.与/r/w/a/x 一同使用,在原功能基础上增加同时读写
10.给定列表 Is =|" ABC ","123",3,66,"777"」,其元素包含两种数据类型,则的数暑组织维度是( D )
A .一维数据 B .二维数据 C .多维数据 D .高维数据
11.给定字典 dictl =| A :"100", B :"200", C :300|,则字典 dietl 的数据组织维度是( D )
A .一维数据 B.二维数据 C .多维数据 D。高维数据
12.以下选项中,不是 Python 中文件操作的相关函数是( C )。
A . open()B . readlines() C writelines() D .write ()
13.以下选项中,不是 Python 文件处理. seek ()方法的参数是( A )。
A .-1 B .0 C.1 D .2
14.关于 open ()函数的文件名,以下选项中描述错误的是( B )
A .文件名可以是绝对路径 B.文件名不能是一个目录
C.文件名不能是相对路径 D .文件名对应的文件可以不存在15.以逗号分隔数据,通过 Python 将列表18=[" C 语言"," C ++"," Java "," Python "]写入到 PL . csv 文件(和程序同目录)中,保存内容为 C 语言, C ++, Java , Python 。下列代码正确内是( D )。
A
ls =[" C 语言"," C ++"," Java "," Python "]
f = open (" PL . esv ",' w ')
f . write ( ls )
f . close ()
B .
ls =[" C 语言"," C ++"," Java "," Python "]
f = open (" PL . csv ",' w ')
f . write (',' join (1s))
f . close ()
C
ls =[" C 语言"," C ++"," Java "," Python "]
f = open (" PL . csv ",' r ')
f . write (',' join (1s)) f . close ()
D .
ls =[" C 语言"," C ++"," Java "," Python "]
f = open (" PL . csv ",' w ')
f . writelines (1s)
f . close ()
16.Python标准库 os . path 中用来判断指定路径是否为文件夹的方法是( A )。
A . isdir B . isinstance C . exists D . isfile
第11章GUI界面编程
1.使用()控件类可以在主窗口中创建多行文本框。( D )
A . Button B.Entry C . Frame D.Text
2.要用多个单选按钮构成一个控件组,则应将这些单选按钮的( 属性绑定到同一控制变量。( D )
A . text B . command C . value D . variable
3.按钮 Button 通过以下哪一个属性关联函数或方法?( D )
A . value B . font C . variable D . command
4.以下哪个选项是设置标签 Label 的字体?( B )
A . bitmap B . font C . image D . background
5.在 tkinter 中,不能放置标签、按钮等组件的方法是( B )。
A . pack () B . grid () D . geometry () C . place ()
二、判断题
1.在 tkinter 中,标签只能用来显示文本,不能用来显示图像。( X )
2.在 tkinter 中,调用菜单控件的 post ()方法可以使菜单在右击的位置显示。( P )
3.在 tkinter 中有菜单 menu ,则 menu . add _ command ( label ="测试", command = gettime , state = tk . DISABLED )添加了一个不可用的菜单项。( P )
4.在 tkinter 中,当复选框处于选中状态时,所绑定的控制变量的值为数字1或字符1。( P )
5.在 GUI 设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。( P )
6.在 GUI 设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多个选项中只能选择一个,当选择发生变化之后,之前选中的选( P )
7.在 tkinter 中,使用单行文本框输入密码时将 show 属性设置为"*",可以不显示输入的内容,以"*"代替。( P )
8.在 tkinter 中,通过 import tkinter as aa 导入 tkinter 是错误的。( P )
9.在 tkinter 中,布局方法有 pack ()、 replace ()、 grid ()三种方法。( P )
10.Canvas画布控件不可以绘制圆形。()
三、程序设计题1.设计一个界面,显示你喜欢的人物,界面如下:
要求选中人物在标签中显示喜欢这个人物,如果都选择,则显示喜欢所有。
2.设计一个简单的计算器,实现加法功能,具体如图所示。
3.设计一个带菜单的窗口,一级菜单有系统、教学、反馈、帮助,系统的二级菜单有登录系统、修改密码、注销账号和退出,调查的二级菜单有教学评价、作业、成绩录入,反馈的二级菜单有教学反馈、师生互联,帮助没有二级菜单。(具体功能不做要求)