python程序设计课后题(程春晖)

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表达式323的值为
正确答案: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-25>78/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(ij)共执行了几次
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

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

你可能感兴趣的:(python程序设计课后题(程春晖))