Python 入门与进阶考试习题

不定项选择题(15分)

  1. 下面哪些领域是适合 Python 的?

    A. 爬虫引擎 B. 大数据 C. 自动化运维测试 D. Web 开发 E. 机器学习

  2. Python 2 什么时候结束生命周期(End of Life)?

    A. 已经结束 B. 半年内结束 C. 一年内结束 D. 未来还会长期存在

  3. 下面哪个不是 Python 内的基本数据类型?

    A. int B. float C. double D. str

  4. 下面哪个变量在 if 条件判断时会被认为是 True

    A. a = [] B. 其他选项都不对 C. c = '0' D. d = None

  5. 下面哪些是合法的转义字符?

    A. \ B. \n C. \t D. \z

  6. 关于 Python 字符串中的单引号、双引号和三引号,下面说法错误的是

    A. 不管用单引号还是双引号来表达字符串,引号必须成对出现。

    B. 一对双引号中间,不可以再出现双引号。

    C. 三引号天生支持换行文本。

    D. 三引号的内容,如果未赋值给变量,其在 Python 中相当于多行注释。

  7. 下面哪些是不可变的值类型?

    A. int B. tuple C. list D. str

  8. 下面哪个不是 Python 支持的条件控制关键字?

    A. if B. break C. for D. switch

  9. 以下选项不属于 Python 语言特点的是:

    A. 支持中文 B. 平台无关 C. 语法简洁 D. 执行高效

  10. 关于 import 引用,以下选项中描述错误的是

    A. 使用 import turtle 引入 turtle 库

    B. 可以使用 from turtle import setup 引入 turtle 库

    C. 使用 import turtle as t 引入 turtle 库,取别名为 t

    D. import 保留字用于导入模块或者模块中的对象

  11. 关于Python语言数值操作符,以下选项中描述错误的是

    A. x//y 表示 x 与 y 之整数商,即不大于 x 与 y 之商的最大整数

    B. x**y 表示 x 的 y 次幂,其中,y 必须是整数

    C. x%y表示 x 与 y 之商的余数,也称为模运算

    D. x/y表示 x 与 y 之商

  12. 以下不是 Python 语言关键字的选项是:

    A. None B. as C. raise D. function

  13. 以下选项,不是 Python 保留字的选项是:

    A. del B. pass C. not D. string

  14. 以下表达式,正确定义了一个集合(set)数据对象的是:

    A. x = { 200, ’flg’, 20.3}

    B. x = ( 200, ’flg’, 20.3)

    C. x = [ 200, ’flg’, 20.3 ]

    D. x = {‘flg’ : 20.3}

  15. s = "the sky is blue",表达式 print(s[-4:], s[:-4]) 的结果是:

A. the sky is blue

B. blue is sky the

C. sky is blue the

D. blue the sky is

判断题(15分)

  1. Python 语言既可以写面向对象的代码,又可以写面向过程的代码,还可以写函数式编程的代码。
  2. x, y = y, x即可交换两个变量的值。
  3. Python 语言简洁优雅,但是不能跨平台支持。
  4. Python 是一个动态脚本型语言。
  5. Python 代码要在电脑上运行,是先编译再运行的。
  6. Python 的运行效率比 Java,C/C++,Golang 高。
  7. 字典里面不能有重复的键(key)。
  8. {}是一个空字典(dict)。
  9. 常量的定义应该全用大写字母表示,变量的定义应该全用小写字母表示,内部(私有)变量/常量的定义应该用下划线开头。
  10. Python 包中的 __init__.py 文件中可以什么都没有,所以有没有这个文件都一样。
  11. 子类的方法和父类的方法同名,子类的方法内容会覆盖父类的方法,除非明确在子类中调用了父类的方法。
  12. $在正则表达式中是匹配的尾部边界。
  13. 写在某函数内部 return 后面的语句也可以被执行。
  14. 装饰器是AOP(面向切面编程)思想。
  15. type 函数不适合用来判断变量类型。

填空题(15分)

  1. {1,2,3} - {3,4,5}的结果是__________

  2. "hello" * 3 + "abc"的结果是__________

  3. ["a", "b", "c", "d"][____]切片能取到['c', 'd']

  4. a = "python is good",__________表达式可以判断 a 是不是字符串类型

  5. 关键字参数的好处是__________

  6. 下面代码的执行结果是__________

    a = ['one', 'two', 'three']
    for i in a[::-1]:
    print(i, end=",")
  7. 下面代码的执行结果是__________

    L = [1,2,3,4,5]
    s1 = ','.join(str(n) for n in L)
    print(s1, end=",")
  8. @staticmethod的作用是__________

  9. 正则表达式中的贪婪和非贪婪是什么意思?__________

  10. 正则表达式库re中的matchsearchfindall有什么不同?__________

  11. JSON 和 XML 的区和优势是__________

  12. JSON 中的 array 在 Python 中是以__________表示的

  13. JSON序列化和反序列化的方法分别是__________

  14. 某列表(list)的 clear 方法的作用是__________列表,copy 方法的作用是__________列表中的所有元素生成一个新的列表,reverse 方法的作用是__________列表中的所有元素,append(x) 方法的作用是__________。

  15. break 用来跳出__________,continue 语句跳过__________。

解答题(任选11道题,每题5分)

  1. 下面代码输出的结果是?

    a = [1,2,3]
    b = a
    a[0] = "1"
    print(b)
  2. 二进制数 4 和二进制数 6 的与的结果是多少,或的结果是多少?

  3. 下面代码输出的结果是?

    a = 1
    b = 2
    c = 3
    print(a + b * c)
    print(a or b and c)
    print(not a or b + 2 == c)
  4. 如何理解 Python 中的函数和数学中的函数的异同之处?

  5. 输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字。

  6. 小明创建了一个包 tool__init__.py 中引入了 sys模块,为什么在包内的 abc.py 文件中执行下面代码,还是会报错,他该如何改正?

    import tool
    print(sys.path)
  7. 创建一个人类的类,有一些通用属性/变量和函数,创建一个学生类,他有一些的属性/变量,一些的函数/方法,继承自人类。从另一个模块中引入这个学生类,并实例化2个学生的对象,操控他们进行日常生活。(需要体现继承,封装,类方法、实例方法)

  8. 使用枚举之于普通类、字典、常量和变量的优势在哪里,你觉得那些场景下适合使用枚举?

  9. 下面两个代码输出结果是多少,如何理解闭包和 globalnonlocal 关键字?

    def curve_pre():
    a = 25
    def curve(x):
    return a*x*x
    return curve

    a = 10
    f = curve_pre()
    print(f(2))
  10. 使用 map 函数和 lambda 表达式,将 a = [2,3,4,5] 中的每一个数字平方一下。使用 reduce 函数和 lambda 表达式,将 a = [2,3,4,5] 列表元素求和。使用 filter 函数和 lambda 表达式,将 a = [2,3,4,5] 列表元素中的奇数去除。

  11. 随机生成一个整数,1-100 之间你最多猜 5 次,如果猜大了,提示大了小了,提示小了,猜对了,提示猜中。5 次都没猜中,就猜没猜中。

    提示

    import random
    num_random = random.randint(1,100) # 生成1-100之间的随机整数
  12. 创建一个温度转换器,使得华氏温度和摄氏度互相转换。你需要以下两个转换公式(c代表摄氏度,f代表华氏):

    f=c×95+32c=(f32)×59f=c\times\frac{9}{5}+32 \\\\ c=(f-32)\times\frac{5}{9}

    输入是一个由小数和字母F或C组成的字符串,使用 input 函数接收用户输入,例如 “13.2C”。你需要将输入转换到与其对应的另一个温度单位,并以相同的格式打印转换值。例如, 如果输入是"8F" 那么输出就应该是(估计值)"-13.333C";如果输入为 “12.5C” 那么输出则为 “54.5F”。

  13. 编写一个成绩质量判断系统,使用 input 函数接收用户输入,判断成绩是不及格、及格、良好还是优秀,具体的阈值由你自己来定。

  14. 输入一个正整数,输出其阶乘结果。

  15. 设定一个用户名和密码,用户输入正确的用户名和密码,则显示登录成功,否则提示登录失败,用户最多失败3次,否则退出程序。

    提示:使用 while或者 for 来限定重试的次数,使用 input 获取用户输入使用 == 判断用户的用户名和密码。

附加题(20分)

  1. 斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

    在数学上,费波那契数列是以递归的方法来定义:

    F0=0F1=1Fn=Fn1+Fn2,(n2)F_0=0 \\\\ F_1=1 \\\\ F_n=F_{n-1}+F_{n-2},(n\geq{2})

    使用 Python 输出100之内的斐波那契数列

    提示:可以使用函数的递归调用,也可以使用 for while等循环条件控制。

  2. 实现一个简单的单词本。

    • 可以添加单词和词义,当所添加的单词已存在,让用户知道;
    • 可以查找单词,当查找的单词不存在时,让用户知道;
    • 可以删除单词,当删除的单词不存在时,让用户知道;
    • 以上功能可以无限制操作,直到用户输入 bye 退出程序。
    num_dict = {}
    while True:
    num = input("请输入你要进行的操作(add:添加单词,select:查找单词,del:删除单词,bye:退出程序):")
    if num =='bye':
    break
    if num == 'add':
    num_add = input("输入你要添加的单词:")
    if num_add in num_dict.keys():
    print("你输入的单词已存在!!")
    continue
    else:
    num_value = input("输入你添加的单词的词义:")
    num_dict[num_add] = num_value
    if num == ......
    ................
  3. 解释 'b' in 'b' is 'b' 结果为什么是 True,但是 ('b' in 'b') is 'b' 就是 False

    提示:1 < 2 < 3 也是 True


   转载规则


《Python 入门与进阶考试习题》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Scala 学习 - 项目的创建 Scala 学习 - 项目的创建
前言 能来看这个系列教程的人,我假设您是要使用 scala 进军大数据,消息中间件,机器学习开发领域的人,对 Java 及其生态框架,比如 Maven 等已经比较熟悉,平时开发使用 Intellij IDEA,没有人会使用 javac 或者 scalac 进行大项目的管理,没有人会使用 vscode 进行 Java 项目的开发吧,所以废话不多说,直接新建项目。 Scala 插件 使用 Inte
2020-07-04
下一篇 
Spark 大数据入门清单:AHP法分析顾客终身价值得分 Spark 大数据入门清单:AHP法分析顾客终身价值得分
什么是 AHP 法 层次分析法(The analytic hierarchy process,简称AHP),也称层级分析法。 层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。比如: 买钢笔,一般要依据质量、颜色、实用性、价格、外形等方面的因素选择某一支钢笔。 假期旅游,是去风光秀丽的苏州,还是去迷人的北戴河,或者是去山水甲天下的桂林,那一般会依据景色、费用、食宿条件
  目录