[转载] python 考试题(带答案)

参考链接: Python | 使用Tkinter的距离时间GUI计算器

一、选择题(每题2分,共70分) 

1.下列哪个语句在Python中是非法的?( B ) 

A、x = y = z = 1   B、x = (y = z + 1) 

C、x, y = y, x D、x  +=  y 

2.关于Python内存管理,下列说法错误的是(B  ) 

A、变量不必事先声明 B、变量无须先创建和赋值而直接使用 

C、变量无须指定类型 D、可以使用del释放资源 

3、下面哪个不是Python合法的标识符(B  ) 

A、int32   B、40XL C、self D、__name__ 

4、下列哪种说法是错误的 ( A ) 

A、除字典类型外,所有标准对象均可以用于布尔测试 

B、空字符串的布尔值是False 

C、空列表对象的布尔值是False 

D、值为0的任何数字对象的布尔值是False 

5、Python不支持的数据类型有 (  A) 

A、char   B、int   C、float D、list 

6、关于Python中的复数,下列说法错误的是(C  ) 

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

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

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

D、方法conjugate返回复数的共轭复数 

7、关于字符串下列说法错误的是 (  B) 

A、字符应该视为长度为1的字符串 

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

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

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

8、以下不能创建一个字典的语句是 ( C ) 

A、dict1 = {} B、dict2 = { 3 : 5 }    

C、dict3 = {[1,2,3]: “uestc”}   

D、dict4 = {(1,2,3): “uestc”} 

9、下列Python语句正确的是 ( D ) 

A、min = x  if  x < y  else  y      

B、max = x > y ? x : y 

C、if (x > y) print x 

D、while True : pass 

10  计算机中信息处理和信息储存用(A) 

A 二进制代码   

B 十进制代码 

C 十六进制代码 

D ASCII代码 

  

11 python源程序执行的方式(B) 

A 编译执行   B 解析执行   C  直接执行   D边编译边执行 

  

12 Python语言语句块的标记是( C )  

A 分号     B 逗号   C 缩进   D / 

  

13 以下是字符转换成字节的方法是(B) 

A  decode()    B encode()   C  upper()   D rstrip() 

  

14  以下是正确的字符串(BD) 

A  ‘abc”ab”   B ‘abc”ab’  C “abc”ab”  D “abc\”ab” 

  

15 “ab”+”c”*2 结果是:(C) 

A abc2     B abcabc    C abcc     D ababcc 

  

16 以下会出现错误的是(B) 

  

A ‘北京’.encode() 

B ‘北京’.decode() 

C ‘北京’.encode().decode() 

D  以上都不会错误 

  

17 如下: 

    str1 = "Runoob example....wow!!!" 

str2 = "exam"; 

Print(str1.find(str2, 5)) 打印的结果是(B) 

A 6    B 7   C 8    D -1 

  

18 下面对count(),index(), find()方法描述错误的是(BC) 

   A count() 方法用于统计字符串里某个字符出现的次数 

   B  find() 方法检测字符串中是否包含子字符串 str  如果包含子字符串返回开始的索引值,否则会报一个异常 

   C  index() 方法检测字符串中是否包含子字符串 str, 如果str不在 返回-1 

   D 以上都错误 

  

  

19 有下面的程序段 

if k<=10 and k >0: 

if k >5: 

if k>8: 

x=0 

          else: 

 X=1 

        else: 

           if k>2: 

x=3 

           else: 

  x=4 

其中k取那组值时  x =3 ( A) 

A 3,4,5    B 3,4    C 5,6,7     D 4,5   

  

20 以下不是python中的关键字(D) 

A  raise      B with      C import    D  final 

  

21 调用以下函数返回的值(D)def myfun(): 

pass 

  

A 0    B  出错不能运行  C 空字符串   D None  

  

22 函数如下: 

  def showNnumber(numbers): 

for n in numbers: 

  print(n) 

  

  下面那些在调用函数时会报错( C) 

A showNumer([2,4,5])         B showNnumber(‘abcesf’) 

C showNnumber(3.4)           D showNumber((12,4,5)) 

  

23  函数如下 

 def chanageInt(number2): 

     number2 = number2+1 

     print("changeInt: number2= ",number2) 

#调用 

number1 = 2 

chanageInt(number1) 

print("number:",number1) 

  

打印结果哪项是正确的( B ) 

A changeInt: number2= 3       number: 3 

B  changeInt: number2= 3       number: 2 

  

C   number: 2             changeInt: number2= 2   

      

D  number: 2             changeInt: number2= 3   

  

  

24 函数如下 

  def chanageList(list): 

    list.append(" end") 

print("list",list) 

  

#调用 

strs =['1','2'] 

chanageList(strs) 

print("strs",strs) 

  

下面对 strs 和 list 的值输出正确的是( C D  )  

A strs ['1','2']                 B list  ['1','2'] 

C list ['1','2',’end’]         D strs  ['1','2',’end’]    

  

            

25  定义类如下: 

   class  Hello(): 

pass 

下面说明错误的是( C D ) 

A 该类实例中包含__dir__()方法 

B 该类实例中包含__hash__()方法 

C 该类实例中只包含__dir__(),不包含__hash__() 

D 该类没有定义任何方法,所以该实例中没有包含任何方法 

  

26  

定义类如下: 

   class hello(): 

 def showInfo(sef): 

  print(self.x) 

下面描述正确的是(AC) 

A该类不可以实例化 

B 该类可以实例化 

C 在pycharm 工具中会出现语法错误,说self没有定义 

D 该类可以实例化,并且能正常通过对象调用showInfo() 

  

27 关于python类 说法错误的是(B) 

A 类的实例方法必须创建对象后才可以调用 

B  类的实例方法必须创建对象前才可以调用 

C 类的类方法可以用对象和类名来调用 

D 类的静态属性可以用类名和对象来调用 

  

  

  

  

28 定义类如下 

 class Hello(): 

def __init__(self,name) 

self.name=name 

  

def showInfo(self) 

print(self.name) 

下面代码能正常执行的 ( C ) 

A  h = Hello 

   h.showInfo() 

B  h = Hello() 

   h.showInfo(‘张三’) 

C  h = Hello(‘张三’) 

   h.showInfo() 

D  h = Hello(‘admin’) 

showInfo

  

  

29 定义类如下: 

   class A(): 

def a(): 

print(“a”) 

class B (): 

def b(): 

print(“b”) 

  

  class C(): 

def c(): 

print(c) 

  

 class D(A,C): 

def d(): 

print(“d”) 

  

  

d = D() 

d.a() 

d.b() 

d.d() 

  

  

以下程序能执行的结果是(D) 

  A a,b,d             B  a,d 

C d,a               D  执行会报错 

  

30 以下哪项python能正常启动(D) 

A 拼写错误      B  错误表达式 

C 缩进错误      D  手动抛出异常 

  

31 有关异常说法正确的是(B) 

A 程序中抛出异常终止程序 

B 程序中抛出异常不一定终止程序 

C 拼写错误会导致程序终止 

D 缩进错误会导致程序终止 

  

32 对以下程序描述错误的是(A) 

   try: 

      #语句块1 

   except  IndexError as i: 

      # 语句块2 

A 改程序对异常处理了,因此一定不会终止程序 

B 改程序对异常处理了,不一定不会因异常引发终止 

C 语句块1,如果抛出IndexError 异常,不会因为异常终止程序 

D 语句块2 不一定会执行 

  

  

33 程序如下: 

 try:    number = int(input("请输入数字:"))     print("number:",number)     print("=======hello======")except Exception as e:     # 报错错误日志    print("打印异常详情信息: ",e)else:     print("没有异常")finally:#关闭资源    print("finally")print("end") 

输入的是 1a 结果是:( B ) 

A   number: 1 

打印异常详情信息:  invalid literal for int() with base 10:  

finally 

end 

B   打印异常详情信息:  invalid literal for int() with base 10:  

finally 

end 

  

C   ========hello=========== 

打印异常详情信息:  invalid literal for int() with base 10:  

finally 

End 

  

D 以上都正确  

  

34 导入模块的方式错误的是(D) 

  A import mo           B from mo import * 

  C import mo as m       D import m from mo 

  

35 以下关于模块说法错误的是(C) 

   A 一个xx.py就是一个模块 

   B  任何一个普通的xx.py文件可以作为模块导入 

   C  模块文件的扩展名不一定是 .py 

   D 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常 

  

  

  

二   解答题 (每题2分 ,共 12分) 

1 请描述列表和元组之间的区别,以及分别在他们之间转型? 

 List  和tuple 区别 

   不同点: 

             1 定义的方式 

                 list[]     tuple() 

             2 是否可变 

                list可变   tuple() 不可变 

             3 list中有 append(),insert() 函数,tuple中没有 

相同点: 

      都是有序的集合(容器) 

  

  

  

List转为tuple: 

temp_list = [1,2,3,4,5] 

将temp_list进行强制转换:tuple(temp_list) 

  

tuple 转为list: 

temp_tuple = (1,2,3) 

方法类似,也是进行强制转换即可:list(temp_tuple) 

  

  

  

2 定义函数的规则? 

  1函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。2任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。3函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。4函数内容以冒号起始,并且缩进。5 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。  

  

3 __new__和__init__的区别? 

 __new__是一个静态方法,而__init__是一个实例方法.__new__方法会返回一个创建的实例,而__init__什么都不返回.只有在__new__返回一个cls的实例时后面的__init__才能被调用.当创建一个新实例时调用__new__,初始化一个实例时用__init__.

4  read,readline和readlines之间的区别? 

read 读取整个文件 

readline 读取下一行,使用生成器方法 

readlines 读取整个文件到一个迭代器以供我们遍历 

  

  

  

   

  

  

  

  

  

5 去掉old_list = [1,1,1,3,4 ]  中的重复元素new_list = list(set(old_list)) 

  

  

6  用两个元素之间有对应关系的list构造一个dict 

       names = ['jianpx', 'yue']ages = [23, 40]m = dict(zip(names,ages)) 

  

  

三 编程题(每题6分  共18分) 

  1 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示 

  

def main(): 

    s = int(input('请输入成绩:')) 

    if s>=90: 

        grade = 'A' 

    elif s>=60: 

        grade = 'B' 

    else: 

        grade = 'C' 

    print grade, 

  

  main() 

  

  

2 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 

def main(): 

    s = input('input a string:') 

    letter = 0 #统计字母 

    space = 0#统计空格 

    digit = 0 #统计数字 

    other = 0 #统计其他字符 

    for c in s: 

        if c.isalpha(): 

            letter+=1 

        elif c.isspace(): 

            space+=1 

        elif c.isdigit(): 

            digit+=1 

        else: 

            other+=1 

print(“字母:”,letter,”空格:”,space,”数字:”,digit,”其他字符:”,other) 

     

    main() 

  

  

3  对10个数进行排序 

l = [] 

for i in range(10): 

    l.append(int(input('Input a number:'))) 

#可以直接使用sort函数:l.sort() 

#也可以自己写排序代码(选择排序) 

for i in range(9): 

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

        if l[j]<l[i]: 

            temp = l[j] 

            l[j] = l[i] 

            l[i] = temp     

print l 

  

  

2,4,6,7,8,9,3,1,4

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值