python课后题

第一章

1.八进制35的十进制值是

A、 30

B、 29

C、19

D、25

正确答案: B

2.Python语言的官方网站是

A、 www.python.com

B、 www.python.org

C、www.python.edu

D、 pythonic.org

正确答案: B

3.Python程序的扩展名是

A、 py

B、exe

C、docx

D、 jpg

正确答案: A

4.计算机系统由硬件和( )组成

A、 软件

B、语言

C、控制器

D、内存储器

正确答案: A

5.( )表示后面部分是注释

A、#

B、*

C、 %

D、&

正确答案: A

6.( )是不等长编码

A、 ASCII码

B、UTF-8码

C、Unicode码

D、前三种编码都不是

正确答案: B

7.10的二进制值是

A、1100

B、 1010

C、 0011

D、1110

正确答案: B

8.正确的标识符是

A、 2you

B、my-name

C、 _item

D、 abc*234

正确答案: C

9.Python的输出函数是

A、 input

B、 print

C、math

D、turtle

正确答案: B

10.不是面向对象的程序设计语言是

A、Java

B、 Python

C、C++

D、C

正确答案: D

11.计算机存储器的单位使用字节(Byte,B),1B等于

A、 一位二进制

B、 四位二进制

C、 八位二进制

D、十六位二进制

正确答案: C

判断题

1.Python 3.X完全兼容Python 2.X F

2.已知x=3,则执行"x=7"后,id(x)的返回值与原来没有变化 F

3在Python中,可以用else作为变量名 F

4.Python是一种跨平台、开源、免费的动态编程语言 T

5.math库是Python语言的数学库 T

6.高级语言程序要被机器执行,只能用解释器来解释执行 F

7.已知x=3,则x='3’是错误的 F

8.在Python 3.X中,input()函数把用户的键盘输入作为字符串返回 T

9.不可以在同一台计算机上安装多个不同的Python版本 F

第二章

1.下列数据类型中,Python不支持的是

A、 char

B、 int

C、 float

D、list

正确答案: A

2.Python语句print(type(1J))的输出结果是

A、

B、

C、

D、

正确答案: A

3.Python语句print(type(1/2))的输出结果是

A、

B、

C

D、

正确答案: C

4.Python语句print(type(1//2))的输出结果是

A、

B、

C、

D、

正确答案: A

5.Python语句a=121+1.21;print(type(a))的输出结果是

A、

B、

C、

D、

正确答案: B

6.Python语句print(0xA+0xB)的输出结果是

A、 0xA+0xB

B、 A+B

C、 0xA0xB

D、 21

正确答案: D

7.Python语句x=‘car’;y=2;print(x+y)的输出结果是

A、 语法错

B、2

C、car2

D、 carcar

正确答案: A

8.Python表达式sqrt(4)*sqrt(9)的值为

A、36.0

B、 1296.0

C、13.0

D、 6.0

正确答案: D

9.关于Python中的复数,下列说法错误的是

A、 表示复数的语法是real+image j

B、 实部和虚部都是浮点数

C、虚部必须加后缀j,且必须是小写

D、 方法real返回复数的实部

正确答案: C

10.Python语句print(chr(65))的运行结果是

A、65

B、 6

C、 5

D、 A

正确答案: D

11.关于Python字符串,下列说法错误的是

A、 字符即长度为1的字符串

B、 字符串以\0标志字符串结束

C、 既可以用单引号,又可以用双引号创建字符串

D、 在三引号字符串中可以包含换行、回车等特殊字符

正确答案: B

填空

1.Python表达式10+5//3-True+False的值为

正确答案:10

2.Python表达式3

2

3的值为

正确答案:6561

3.Python表达式17.0/3**2的值为

正确答案:1.89

4.Python表达式 0 and 1 or not 2

正确答案:True

5.Python语句 print(pow(-3,2),round(18.67,1),round(18.67,-1))的输出结果是

正确答案:9 18.7 20.0

6.Python语句print(int(“20”,16),int(“101”,2))的输出结果是

正确答案:32 5

7.Python语句print(hex(16),bin(10))的输出结果是

正确答案:0x10 0b1010

8.Python语句print(abs(-3.2),abs(1-2j))的输出结果是

正确答案:3.2 2.24

9.Python语句 x=True;y=False;z=False;print(x or y and z)的程序运行结果是

正确答案:True

10.Python语句 x=0;y=True;print(x>=y and ‘A’<‘B’)的程序运行结果是

正确答案:False

11.已知a=3;b=5;c=6;d=True,则表达式not d or a>=0 and a+c>b+3的值是

正确答案:True

12.Python表达式16-2

5>7

8/2 or “XYZ”!=“xyz” and not (10-6>18/2)的值是

正确答案:True

13.Python语句print(“hello”‘world’)的结果是

正确答案: helloworld

14.Python语句 print(round(123.84,0),round(123.84,-2),floor(15.5))的输出结果是

正确答案:124.0 100.0 15

第三章

1.max(3,5,1,7,4)的结果是

A、 1

B、 3

C、 5

D、 7

正确答案: D

2.( )打印出smith\exam1\test.txt

A、 print("smith\exam1\test.txt")

B、 print("smith\\exam1\\test.txt")

C、 print("smith\"exam1\"test.txt")

D、 print("smith"\exam1"\test.txt")

正确答案: B

3.list(“abcd”)的结果是

A、 [‘a’,‘b’,‘c’,‘d’]

B、[‘ab’]

C、 [‘cd’]

D、 [‘abcd’]

正确答案: A

4.如果list1=[1,2,3,4,5,4,3,2,1],那么( )是list1[:-1]

A、 0

B、[1,2,3,4,5,4,3,2,1]

C、[1,2,3,4,5,4,3,2]

D、[0,1,2,3,4,3,2,1,0]

正确答案: C

5.要把5加到lst的末尾,用的是( )

A、lst.add(5)

B、lst.append(5)

C、 lst.addLast(5)

D、 lst.addEnd(5)

正确答案: B

填空

1.‘23’*3的结果是

正确答案:‘232323’

2.‘3//11//2018’.split(’/’)的结果是

正确答案:[‘3’,’’,‘11’,’’,‘2018’]

3.假设存在一个列表a=[3,4,5,6,5,4,3],则执行a.remove(3)后,a的结果是

正确答案:[4,5,6,5,4,3]

4.list(range(2,12,2))[:-2].pop()的结果是

正确答案:6

5.要想得到[0,100]范围内的随机数,random.randint(0,n)里的n应该是

正确答案:100

判断

1、‘age’+23不是正确的 T

2、列表可以用find()函数来搜索数据是否在列表中 F

3、将列表中的元素顺序打乱的函数shuffle()是列表的函数 F

4、字符串和列表都是序列类型 T

5、通过[]来访问字符串的某个字符,就可以将它修改成其他字符 F

第四章

1.continue语句用于

A、退出循环程序

B、 结束本次循环

C、空操作

D、引发异常处理

正确答案: B

2.for i in range(10):…中,循环中最大的i是

A、 9

B、10

C、11

D、 都不对

正确答案: A

3.{

下面程序中语句 print(i

j)共执行了几次

for i in range(5):

﹍﹍for j in range(2,5):

﹍﹍﹍﹍print(i

j)

}

A、15

B、14

C、 20

D、12

正确答案: A

4.{

执行下面程序产生的结果是

x=2;y=2.0 #分号可把两个语句写在一行

if (x==y):

﹍﹍print(“相等”)

else:

﹍﹍print(“不相等”)

}

A、 相等

B、不相等

C、运行错误

D、死循环

正确答案: A

5.下面哪个语句不能完成1~10的累加功能,total初值为0。

A、for i in range(10, 0): total+=i

B、 for i in range(1, 11): total+=i

C、for i in range(10,0, -1): total+=i

D、 for i in (10,9,8,7,6,5,4,3,2,1,0):total+=i

正确答案: A

填空

1.下面程序运行后,位于最后一行最后一列的值是____。

for i in range(1,5):

j=0

while j

print(j,end=" ")

j+=1

print( )

正确答案:3

2.下面程序运行后,倒数第二行打印出____。

i=5

while i>=1:

num=1

for j in range(1, i+1):

print(num, end="xxx")

num*=2

print( )

i-=1

正确答案:1xxx2xxx

3.下面程序运行后,最后一行有____个“G”。

i=1

while i<=5:

num=1

for j in range(1, i+1):

print(num, end="G")

num+=2

print( )

i+=1

正确答案:5

4.下面程序运行后输出是____。

a=[1, 2, 3, 4, [5, 6], [7, 8, 9]]

s=0

for row in a:

if type(row)==list:

for elem in row:

s+=elem

else:

s+=row

print(s)

正确答案:45

5.下面程序运行后,输出是____。

l3=[i+j for i in range(1,6) for j in range(1,6)]

print(sum(l3))

正确答案:150

6.下面程序运行后,输出是____。

l3=[[ (i,j) for i in range(1,6)] for j in range(1,6)]

print (l3 [2][1])

正确答案:(2, 3)

7.下面程序运行后,输出是____。

n=3

m=4

a = [0] * n

for i in range(n):

a[i]=[0] * m

print(a[0])

正确答案:[0, 0, 0, 0]

判断题:

1.在循环中 continue语句的作用是跳出当前循环。 F

2.带有else子句的循环如果因为执行了break语句而退出的话,会执行else子句的代码。 F

3.使用 for i in range(10)和 for i in range(10,20)控制循环次数是一样的。 T

4.在 Python中,循环结构必须有else子句。F

5.带有else子句的异常处理结构,如果不发生异常,则执行else子句中的代码。T

6.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。 T

7.语句3/0会引发" Valueerror”异常。 F

第五章

1以下()会得到{1,2,3}。

A、 list("123")

B、 以上选项都不是

C、set("123")

D、 tuple("123")

正确答案: B

2.以下()可以创建一个空的集合。

A、 set()

B、{}

C、[]

D、()

正确答案: A

3.对于两个集合s1和s2,s1

A、s1的大小小于s2的大小

B、 s1的元素比s2的小

C、 s1是s2的真子集

D、s2是s1的真子集

正确答案: C

4.对于集合s,以下()是不存在的。

A、 len(s)

B、 s.append(1)

C、 max(s)

D、s-{1}

正确答案: B

5.对于操作a[2]=3,a不可能是

A、 集合

B、 列表

C、 字典

D、 以上都不是

正确答案: A

6.Python语句print(type({ }))的输出结果是( )。

A、

B、

C、

D、

正确答案: B

7.Python语句print(type([ ]))的输出结果是( )。

A、

B、

C、

D、

正确答案: D

8.Python语句print(type(( )))的输出结果是( )。

A、

B、

C、

D、

正确答案: A

填空

1.在一行中输入若干个0~~~9的数字,数字之间用空格分隔,以下代码会输出0~9这10个数字在输入中出现的次数:

a = map(int, input().split())

m = ____

for x in a:

m[x]=________

for k in m.keys():

print(k,_____)

正确答案:

第一空: {}

第二空: m.get(x,0)+1

第三空: m.get(k,0));m.get(k))

2.Python语句print(len({ }))的输出结果是( )。

正确答案:0

3.Python语句序列“d={1:‘x’,2:‘y’,3:‘z’};del d[1];del d[2];d[1]=‘A’;print(len(d))”的输出结果是( )。

正确答案:2

4Python语句 print(set([1,2,1,2,3]))的输出结果是( )。

正确答案:{1,2,3}

5.Python语句“fruits={‘apple’:3,‘banana’:4,‘pear’:5};fruits[‘banana’]=7;print(sum(fruits.values()))”的输出结果是( )。

正确答案:15

6.Python语句“names=[‘Amy’,‘Bob’,‘Charlie’,‘Daling’];print(names[-1][-1])”的结果是( )。

正确答案:g

7.阅读下面的Python语句,请问输出结果是什么?

list1={}

list1[1]=1

list1['1']=3

list1[1]+=2

sum=0

for k in list1:

sum+=list1[k]

print(sum)

正确答案:6

8.阅读下面的Python语句,请问输出结果是什么?

d={1:'a',2:'b',3:'c'}

del d[1]

d[1]='x'

del d[2]

print(d)

正确答案:{3: ‘c’,1: ‘x’};{1: ‘x’,3: ‘c’}

9.阅读下面的Python语句,请问输出结果是什么?

item_counter={}

def addone(item):

if item in item_counter:

item_counter[item]+=1

else:

item_counter[item]=1

addone("Apple")

addone('Pear')

addone('apple')

addone('Apple')

addone('kiwi')

addone('apple')

print(item_counter)

正确答案:{‘Apple’:2, ‘Pear’:1, ‘apple’:2, ‘kiwi’:1}

10.阅读下面的Python语句,请问输出结果是什么?

numbers={}

numbers[(1,2,3)]=1

numbers[(2,1)]=2

numbers[(1,2)]=3

sum=0

for k in numbers:

sum+=numbers[k]

print(len(numbers),sum,numbers)

正确答案:3 6 {(1, 2, 3):1, (2, 1):2, (1, 2):3}

11.阅读下面的Python语句,请问输出结果是什么?

d1={'a':1,'b':2}

d2=d1

d1['a']=6

sum=d1['a']+d2['a']

print(sum)

正确答案:12

12.阅读下面的Python语句,请问输出结果是什么?

d1={'a':1,'b':2}

d2=dict(d1)

d1['a']=6

sum=d1['a']+d2['a']

print(sum)

正确答案:7

第六章

1.print (type( lambda : 3))的输出结果是

A、< class 'function'>

B、 < class 'int'>

C、 < class 'float'>

D、 < class 'None Type'>

正确答案: A

2.在Python中,对于函数定义代码的理解,正确的是

A、 必须存在形参

B、必须存在return语句

C、形参和return语句都是可有可无的

D、 形参和return语句要么都存在,要么都不存在

正确答案: C

3.在一个函数中若局部变量和全局变量同名,则

A、 局部变量屏蔽全局变量

B、全局变量屏蔽局部变量

C、全局变量和局部变量都不可用

D、程序错误

正确答案: A

4.area是tri模块中的一个函数,执行from tri import area后,调用area()函数应该使用

A、 tri(area)

B、 tri.areal()

C、 area()

D、 tri()

正确答案: C

5.函数可以改变( )类型的形式参数变量绑定的实参。

A、 int

B、string

C、list

D、 float

正确答案: C

6.函数定义如下: def f1(a,b,c): print(a+b) nums=(1,2,3) f1 (*nums) 程序运行的结果是

A、 6

B、3

C、语法错

D、1

正确答案: B

填空题

1.下面程序的运行结果是

def scope():

n=4

m=5

print (m,n,end = '')

n=5

t=8

scope()

print (n, t)

正确答案:5 45 8

2.下面程序的运行结果是

L=[1]

def scopel():

L.append(6)

print(L,end='')

scopel()

print(L)

正确答案:[1, 6][1, 6];[1, 6]

3.下面程序的运行结果是

a=10

def func():

global a

a=20

print(a,end="")

func()

print(a)

正确答案:2020

4.下面程序的运行结果是

b, c=2, 4

def g_func(d):

global a

a=d*c

g_func(b)

print(a)

正确答案:8

5.下面程序的运行结果是

import math

def factors(x):

y = int(math.sqrt(x))

for i in range(2, y + 1):

if (x % i == 0):

factors(x // i)

break

else:

print("Prime Factor:", x)

return

factors(38)

正确答案:Prime Factor: 19

6.下面程序的运行结果是

def ins_sort_rec(seq, i):

if i == 0: return

ins_sort_rec(seq, i - 1)

j = i

while j > 0 and seq[j - 1] > seq[j]:

seq[j - 1], seq[j] = seq[j], seq[j - 1]

j -= 1

seq = [3, -6, 79, 45, 8, 12, 6, 8]

ins_sort_rec(seq, len(seq) - 1)

print(*seq)

正确答案:-6 3 6 8 8 12 45 79

7.下面程序的运行结果是

def basic_lis(seq):

L = [1] * len(seq)

for cur, val in enumerate(seq):

for pre in range(cur):

if seq[pre] <= val:

L[cur] = max(L[cur], 1 + L[pre])

return max(L)

L = [49, 64, 17, 100, 86, 66, 68, 68, 87, 96, 19, 99, 35]

print(basic_lis(L))

正确答案:8;7

8.下面程序是冒泡排序的实现,请填空。

def bubble(List):

for j in range(_____,0,-1):

for i in range(0,j):

if List[i] > List[i+1]:List[i], List[i+1] = List[i+1], List[i]

return List

testlist = [54,26,93,17,77,31,44,55,20]

print(bubble(testlist))

正确答案:len(List)-1

9.下面程序是选择排序的实现,请填空

def selSort(nums):

n = len(nums)

for bottom in range(n-1):

min = bottom

for i in range(_____,n):

if nums[i] < nums[min]:

min = i

nums[bottom],nums[min] = nums[min],nums[bottom]

nums = [49, 38, 65, 97, 76, 13, 27, 49]

selSort(nums)

print(nums)

正确答案:bottom+1;[13, 27, 38, 49, 49, 65, 76, 97]

第七章

1.Python内置函数(______)用来打开文件。

正确答案:open;open()

2.Python内置函数open()用(______)打开文件表示写模式。

正确答案:w

判断题

1.以写模式打开的文件无法进行读操作。T

2.read()函数返回的是列表。F

3.readlines()函数返回的是列表。T

4.close()函数用于文件关闭。T

第八章

1.Python保留字(______)开始了类定义。

A、 def

B、class

C、object

D、 init

正确答案: B

2.在类中,具有四个形式参数的方法通常在调用时有(______)个实际参数。

A、3

B、4

C、 5

D、不确定

正确答案: A

3.在类的方法定义中,可以通过表达式(______)访问实例变量x。

A、 x

B、 self.x

C、 self[x]

D、 this.x

正确答案: B

4.定义一个类的“私有”方法,Python的惯例是使用(______)开始方法的名称。

A、"private"

B、两个下划线(__)

C、 井号(#)

D、减号(-)

正确答案: B

5.将细节隐藏在类定义中,术语称为(______)。

A、虚函数

B、子类化

C、继承

D、封装

正确答案: D

6.(______)不是面向对象程序设计的基本特征之一。

A、 继承

B、 多态

C、 抽象

D、 封装

正确答案: C

7.分析下面的代码(______)

class A:

def __init__(self, s):

self.s = s

def print(self):

print(s)

a = A("Welcome")

a.print()

A、程序有错误,因为类A中没有构造方法

B、程序有错误,因为类A中有一个命名的print方法print(self, s)

C、程序有错误,因为类A中有一个命名的print方法print(s)

D、 如果方法print(s)改成print(self.s),程序能够正常运行

正确答案: D

8.分析下面的代码(______)

class A:

def __init__(self):

self.x = 1

self.__y = 1

def getY(self):

return self.__y

a = A()

print(a.x)

A、程序有错误,因为x是私有的,不能在类之外访问

B、程序有错误,因为y是私有的,不能在类之外访问

C、程序有错误,不能使用__y作为变量名

D、 程序的运行结果为1

E、程序的运行结果为0

正确答案: D

9.分析下面的代码(______)

class A:

def __init__(self):

self.x = 1

self.__y = 1

def gety(self):

return self.__y

a = A()

print(a.__y)

A、 程序有错误,因为x是私有的,不能在类之外访问

B、程序有错误,因为y是私有的,不能在类之外访问

C、 程序有错误,不能使用__y作为变量名

D、 程序运行结果为1

E、 程序运行结果为0

正确答案: B

10.分析下面的代码(______)

class A:

def __init__(self):

self.x = 1

self.__y = 1

def getY(self):

return self.__y

a = A()

a.__y = 45

print(a.getY())

A、程序有错误,因为x是私有的,不能在类之外访问

B、程序有错误,因为y是私有的,不能在类之外访问

C、程序有错误,不能使用__y作为变量名

D、 程序运行结果为1

E、程序运行结果为45

正确答案: D

11

def main():

class Count:

def __init__(self):

self.count = 0

def increment(c, times):

c.count += 1

times += 1

myCount = Count()

times = 0

for i in range(0, 100):

increment(myCount, times)

print("myCount.count =", myCount.count, "times =", times)

main()

A、 count值为101,times值为0

B、count值为100,times值为0

C、count值为100,times值为100

D、count值为101,times值为101

正确答案: B

12.下面代码段的运行结果是(______)

class A:

def __init__(self, i=1):

self.i = i

class B(A):

def __init__(self, j=2):

super().__init__()

self.j = j

def main():

b = B()

print(b.i, b.j)

main()

A、 0 0

B、 0 1

C、 1 2

D、 2 1

正确答案: C

13.下面代码段的运行结果是(______)

class A:

def __new__(self):

self.__init__(self)

print("A's __new__() invoked")

def __init__(self):

print("A's __init__() invoked")

class B(A):

def __new__(self):

print("B's __new__() invoked")

def __init__(self):

print("B's __init__() invoked")

def main():

b = B()

a = A()

main()

A、 B's __new__() invoked

A's __init__() invoked

B、 B's __new__() invoked

A's __new__() invoked

C、 B's __new__() invoked

A's __init__() invoked

A's __new__() invoked

D、 A's __init__() invoked

A's __new__() invoked

正确答案: C

14.下面代码段的运行结果是(______)

class A:

def __init__(self):

self.i = 1

def m(self):

self.i = 10

class B(A):

def m(self):

self.i += 1

return self.i

def main():

b = B()

print(b.m())

main()

A、 1

B、 2

C、10

D、 3

正确答案: B

判断题:

1.创建对象是通过调用构造方法完成的。T

2.位于对象中的方法称为实例变量。F

3.Python方法定义的第一个参数是this。F

4.一个对象可能只有一个实例变量。T

5.在Python类中,构造方法的名称为__init__。F

6.从类定义之外直接访问实例变量是不好的程序设计风格。T

7.在类定义中隐藏对象的细节称为实例化。F

8.父类(超类)从子类继承方法。F

9.在Python中定义类时,如果某个成员名称前有两个下划线,则表示它是私有成员。T

10.Python中一切内容都可以称为对象。T

11.定义类时,所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。T

12.在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。F

13.对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。T

14.在Python中定义类时,实例方法的第一个参数名称必须是self。F

15.在Python中定义类时,实例方法的第一个参数名称不管是什么,都表示对象自身。T

16.定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法。T

17.定义类时,在一个方法前面使用@staticmethod进行修饰,则该方法属于静态方法。T

18.在Python中可以为自定义类的对象动态增加新成员。T

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐