• Python 考试练习题 1


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

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

    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  )p11

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

    合法的标识符应该是以字母或下划线开头,剩下的部分由字母,下划线,数字组成

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

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

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

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

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

    字典类型也可用于布尔测试

    1. d1={}
    2. d2={'a':1}
    3. print(bool(d1))
    4. print(bool(d2))

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

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

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

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

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

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

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

    A.

    1. x=2+3j
    2. print(x)
    3. print(x.real)
    4. print(x.imag)

     D.

    1. x=2+3j
    2. print(x)
    3. print(x.conjugate())

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

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

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

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

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

    python字符串不是通过NUL或者'\0'来结束的

    C语言中字符串使用'\0'作为结束符,以防止越界。但是在python中,不是,你完全不需要为是否已经添加终止符而担心。字符串值包含你所定义的东西,没别的。

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

    A、dict1 = {}

    B、dict2 = { 3 : 5 }   

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

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

    1. dict1 = {}
    2. dict2 = { 3 : 5 }
    3. dict3 = {[1,2,3]: "uestc"}
    4. dict4 = {(1,2,3): "uestc"}

    关键字只能是不可变类型,比如整数,字符串,只包含字符串或整数的元组,不能是列表。 

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

    A、min = x  if  x < y  else  y     

    B、max = x > y ? x : y   这是c语言的写法

    C、if (x > y) print x    if语句可以加括号,但是if语句必须有冒号;而且print函数没有括号

    D、while True : pass

    我觉得A也对。。。

    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()

    python的encode()和decode()的用法及实例

    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 如下:

    1. str1 = "Runoob example....wow!!!"
    2. str2 = "exam";
    3. print(str1.find(str2, 5))

    打印的结果是(B) p95

    A 6    B 7   C 8    D -1

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

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

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

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

      D 以上都错误

    19 有下面的程序段

    1. k=int(input())
    2. if k<=10 and k>0:
    3. if k>5:
    4. if k>8:
    5. x=0
    6. else:
    7. x=1
    8. else:
    9. if k>2:
    10. x=3
    11. else:
    12. x=4
    13. print(x)

    其中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

    Python raise用法(超级详细,无师自通)

    Python 中 with用法及原理


    21 调用以下函数返回的值(D) p147

    1. def myfun():
    2. pass
    3. print(myfun())

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

    不带参数的return语句或函数体内没有return语句,函数返回None

    22 函数如下:

    1. def showNnumber(numbers):
    2. for n in numbers:
    3. print(n)

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

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

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

    numbers必须是可迭代对象

    23  函数如下

    1. def chanageInt(number2):
    2. number2 = number2+1
    3. print("changeInt: number2= ",number2)
    4. #调用
    5. number1 = 2
    6. chanageInt(number1)
    7. 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 函数如下

    1. def chanageList(list):
    2. list.append(" end")
    3. print("list",list)
    4. #调用
    5. strs =['1','2']
    6. chanageList(strs)
    7. 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  定义类如下:

    1. class Hello():
    2. pass

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

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

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

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

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

    Python中的常见特殊方法或属性—— dir方法和dict属性

    【Python面向对象编程】第13篇 特殊方法之__hash__

    对象的__dir__()方法的作用是列出对象内部所有的属性名和方法名,该方法将会返回包含所有属性或方法名的序列。

    如果程序对某个对象执行dir(obj)函数,实际上就是将该对象的__dir__()方法返回值进行排序,然后包装成列表。

    1. class Item():
    2. def __init__(self,name,price):
    3. self.name=name
    4. self.price=price
    5. def info(self):
    6. pass
    7. #创建一个Item对象,将之赋值给it变量
    8. it = Item('鼠标',29.8)
    9. #打印所有属性(包含方法)组成的列表
    10. print(it.__dir__())
    11. #打印所有属性(包含方法)组成的列表,已排序
    12. print(dir(it))

    截取了一部分: 

    26.定义类如下:

    1. class hello():
    2. def showInfo(sef):
    3. print(self.x)

    下面描述正确的是(AC)

    A该类不可以实例化

    B 该类可以实例化

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

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

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

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

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

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

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

    28 定义类如下

    1. class Hello():
    2. def __init__(self,name):
    3. self.name=name
    4. def showInfo(self):
    5. 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 定义类如下:

    1. class A():
    2. def a(self):
    3. print("a")
    4. class B ():
    5. def b(self):
    6. print("b")
    7. class C():
    8. def c(self):
    9. print("c")
    10. class D(A,C):
    11. def d(self):
    12. print("d")
    13. d = D()
    14. d.a()
    15. d.b()
    16. 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)

    1. try:
    2. #语句块1
    3. except IndexError as i:
    4. # 语句块2

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

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

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

    D 语句块2 不一定会执行

    33 程序如下:

    1. try:
    2. number = int(input("请输入数字:"))
    3. print("number:",number)
    4. print("=======hello======")
    5. except Exception as e:
    6. # 报错错误日志
    7. print("打印异常详情信息: ",e)
    8. else:
    9. print("没有异常")
    10. finally:#关闭资源
    11. print("finally")
    12. print("end")

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

    A  

    1. number: 1
    2. 打印异常详情信息:  invalid literal for int() with base 10:
    3. finally
    4. end

    B  

    1. 打印异常详情信息: invalid literal for int() with base 10: '1a'
    2. finally
    3. end

    C  

    1. ========hello===========
    2. 打印异常详情信息:  invalid literal for int() with base 10:
    3. finally
    4. 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表示

    1. s = int(input('请输入成绩:'))
    2. if s>=90:
    3. grade = 'A'
    4. elif s>=60:
    5. grade = 'B'
    6. else:
    7. grade = 'C'
    8. print(grade)

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

    1. import re
    2. str1 = input("请输入一行字符串:")
    3. alpha = 0 #英文字母
    4. space = 0 #空格
    5. digit = 0 #数字
    6. other = 0 #其他
    7. for i in str1:
    8. # print(i)
    9. if re.findall(r"[A-Za-z]",i):
    10. alpha += 1
    11. elif re.findall(r"\s", i):
    12. space += 1
    13. elif re.findall(r"\d",i):
    14. digit += 1
    15. else:
    16. other += 1
    17. print(f"{str1}中的英文字母个数为:{alpha}")
    18. print(f"{str1}中的空格个数为:{ space}")
    19. print(f"{str1}中的数字个数为:{digit}")
    20. print(f"{str1}中的其他字符个数为:{other}")

    3  对10个数进行排序

    1. # -*- coding:utf-8 -*-
    2. list = []
    3. for i in range(5):
    4. a = input('请输入整数:')
    5. list.append(a)
    6. print list
    7. list.sort()#利用现有的函数方法
    8. print list


     

  • 相关阅读:
    业务系统架构实践总结
    centos7篇---禁用默认的驱动nouveau,安装cuda和cudnn
    Python版股市情感分析源代码,提取投资者情绪,为决策提供参考
    如何在 pyqt 中解决启用 DPI 缩放后 QIcon 模糊的问题
    记笔记非常好用的一款工具 eDiary
    在家怎么看公司电脑里的东西?如何查看
    第八章 排序 十、基数排序
    Delphi 取消与设置CDS本地排序
    计算机毕业设计 大学生选修选课系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试
    Python实现约瑟夫生者死者游戏可视化(单向循环链表实现)
  • 原文地址:https://blog.csdn.net/JYHZZ/article/details/127816568