不定项选择题(15分)
-
下面哪些领域是适合 Python 的?
A. 爬虫引擎 B. 大数据 C. 自动化运维测试 D. Web 开发 E. 机器学习
-
Python 2 什么时候结束生命周期(End of Life)?
A. 已经结束 B. 半年内结束 C. 一年内结束 D. 未来还会长期存在
-
下面哪个不是 Python 内的基本数据类型?
A. int B. float C. double D. str
-
下面哪个变量在
if
条件判断时会被认为是True
?A.
a = []
B. 其他选项都不对 C.c = '0'
D.d = None
-
下面哪些是合法的转义字符?
A.
\
B.\n
C.\t
D.\z
-
关于 Python 字符串中的单引号、双引号和三引号,下面说法错误的是
A. 不管用单引号还是双引号来表达字符串,引号必须成对出现。
B. 一对双引号中间,不可以再出现双引号。
C. 三引号天生支持换行文本。
D. 三引号的内容,如果未赋值给变量,其在 Python 中相当于多行注释。
-
下面哪些是不可变的值类型?
A. int B. tuple C. list D. str
-
下面哪个不是 Python 支持的条件控制关键字?
A. if B. break C. for D. switch
-
以下选项不属于 Python 语言特点的是:
A. 支持中文 B. 平台无关 C. 语法简洁 D. 执行高效
-
关于
import
引用,以下选项中描述错误的是A. 使用
import turtle
引入 turtle 库B. 可以使用
from turtle import setup
引入 turtle 库C. 使用
import turtle as t
引入 turtle 库,取别名为 tD.
import
保留字用于导入模块或者模块中的对象 -
关于Python语言数值操作符,以下选项中描述错误的是
A.
x//y
表示 x 与 y 之整数商,即不大于 x 与 y 之商的最大整数B.
x**y
表示 x 的 y 次幂,其中,y 必须是整数C.
x%y
表示 x 与 y 之商的余数,也称为模运算D.
x/y
表示 x 与 y 之商 -
以下不是 Python 语言关键字的选项是:
A. None B. as C. raise D. function
-
以下选项,不是 Python 保留字的选项是:
A. del B. pass C. not D. string
-
以下表达式,正确定义了一个集合(set)数据对象的是:
A.
x = { 200, ’flg’, 20.3}
B.
x = ( 200, ’flg’, 20.3)
C.
x = [ 200, ’flg’, 20.3 ]
D.
x = {‘flg’ : 20.3}
-
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分)
- Python 语言既可以写面向对象的代码,又可以写面向过程的代码,还可以写函数式编程的代码。
x, y = y, x
即可交换两个变量的值。- Python 语言简洁优雅,但是不能跨平台支持。
- Python 是一个动态脚本型语言。
- Python 代码要在电脑上运行,是先编译再运行的。
- Python 的运行效率比 Java,C/C++,Golang 高。
- 字典里面不能有重复的键(key)。
{}
是一个空字典(dict)。- 常量的定义应该全用大写字母表示,变量的定义应该全用小写字母表示,内部(私有)变量/常量的定义应该用下划线开头。
- Python 包中的
__init__.py
文件中可以什么都没有,所以有没有这个文件都一样。 - 子类的方法和父类的方法同名,子类的方法内容会覆盖父类的方法,除非明确在子类中调用了父类的方法。
$
在正则表达式中是匹配的尾部边界。- 写在某函数内部
return
后面的语句也可以被执行。 - 装饰器是AOP(面向切面编程)思想。
- type 函数不适合用来判断变量类型。
填空题(15分)
-
{1,2,3} - {3,4,5}
的结果是__________ -
"hello" * 3 + "abc"
的结果是__________ -
["a", "b", "c", "d"][____]
切片能取到['c', 'd']
-
a = "python is good"
,__________表达式可以判断a
是不是字符串类型 -
关键字参数的好处是__________
-
下面代码的执行结果是__________
a = ['one', 'two', 'three']
for i in a[::-1]:
print(i, end=",") -
下面代码的执行结果是__________
L = [1,2,3,4,5]
s1 = ','.join(str(n) for n in L)
print(s1, end=",") -
@staticmethod
的作用是__________ -
正则表达式中的贪婪和非贪婪是什么意思?__________
-
正则表达式库
re
中的match
、search
和findall
有什么不同?__________ -
JSON 和 XML 的区和优势是__________
-
JSON 中的 array 在 Python 中是以__________表示的
-
JSON序列化和反序列化的方法分别是__________
-
某列表(list)的
clear
方法的作用是__________列表,copy
方法的作用是__________列表中的所有元素生成一个新的列表,reverse
方法的作用是__________列表中的所有元素,append(x)
方法的作用是__________。 -
break
用来跳出__________,continue
语句跳过__________。
解答题(任选11道题,每题5分)
-
下面代码输出的结果是?
a = [1,2,3]
b = a
a[0] = "1"
print(b) -
二进制数 4 和二进制数 6 的与的结果是多少,或的结果是多少?
-
下面代码输出的结果是?
a = 1
b = 2
c = 3
print(a + b * c)
print(a or b and c)
print(not a or b + 2 == c) -
如何理解 Python 中的函数和数学中的函数的异同之处?
-
输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字。
-
小明创建了一个包
tool
在__init__.py
中引入了sys
模块,为什么在包内的abc.py
文件中执行下面代码,还是会报错,他该如何改正?import tool
print(sys.path) -
创建一个人类的类,有一些通用属性/变量和函数,创建一个学生类,他有一些的属性/变量,一些的函数/方法,继承自人类。从另一个模块中引入这个学生类,并实例化2个学生的对象,操控他们进行日常生活。(需要体现继承,封装,类方法、实例方法)
-
使用枚举之于普通类、字典、常量和变量的优势在哪里,你觉得那些场景下适合使用枚举?
-
下面两个代码输出结果是多少,如何理解闭包和
global
和nonlocal
关键字?def curve_pre():
a = 25
def curve(x):
return a*x*x
return curve
a = 10
f = curve_pre()
print(f(2)) -
使用 map 函数和 lambda 表达式,将
a = [2,3,4,5]
中的每一个数字平方一下。使用 reduce 函数和 lambda 表达式,将a = [2,3,4,5]
列表元素求和。使用 filter 函数和 lambda 表达式,将a = [2,3,4,5]
列表元素中的奇数去除。 -
随机生成一个整数,1-100 之间你最多猜 5 次,如果猜大了,提示大了小了,提示小了,猜对了,提示猜中。5 次都没猜中,就猜没猜中。
提示
import random
num_random = random.randint(1,100) # 生成1-100之间的随机整数 -
创建一个温度转换器,使得华氏温度和摄氏度互相转换。你需要以下两个转换公式(c代表摄氏度,f代表华氏):
输入是一个由小数和字母F或C组成的字符串,使用
input
函数接收用户输入,例如 “13.2C”。你需要将输入转换到与其对应的另一个温度单位,并以相同的格式打印转换值。例如, 如果输入是"8F" 那么输出就应该是(估计值)"-13.333C";如果输入为 “12.5C” 那么输出则为 “54.5F”。 -
编写一个成绩质量判断系统,使用
input
函数接收用户输入,判断成绩是不及格、及格、良好还是优秀,具体的阈值由你自己来定。 -
输入一个正整数,输出其阶乘结果。
-
设定一个用户名和密码,用户输入正确的用户名和密码,则显示登录成功,否则提示登录失败,用户最多失败3次,否则退出程序。
提示:使用
while
或者for
来限定重试的次数,使用input
获取用户输入使用==
判断用户的用户名和密码。
附加题(20分)
-
斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义:
使用 Python 输出100之内的斐波那契数列
提示:可以使用函数的递归调用,也可以使用
for
while
等循环条件控制。 -
实现一个简单的单词本。
- 可以添加单词和词义,当所添加的单词已存在,让用户知道;
- 可以查找单词,当查找的单词不存在时,让用户知道;
- 可以删除单词,当删除的单词不存在时,让用户知道;
- 以上功能可以无限制操作,直到用户输入 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 == ......
................ -
解释
'b' in 'b' is 'b'
结果为什么是True
,但是('b' in 'b') is 'b'
就是False
?提示:
1 < 2 < 3
也是True