Python作业_0923
Python基础测试题
一、单选题(共15题,每题3分,共45分)
1、以下哪个是Python的合法变量名?( C)
A. 2var B. var-2 C. _var2 D. class
2、执行 print(type(3.14)) 的输出结果是?( B)
A. <class ‘int’> B. <class ‘float’> C. <class ‘number’> D.<class ‘double’>
3、下列代码的输出是?(A )
1 | print(3 * 'ab' + 2 * 'c') |
A. abababcc B. ababc2 C. 3ab2c D. 报错
4、以下哪个语句可以正确创建一个空列表?( B)
A. list = {} B. list = [] C. list = () D. list = set()
5、执行 x = [1, 2, 3]; x.append(4) 后,x 的值是?( A)
A. [1, 2, 3, 4] B. [1, 2, 3], 4 C. (1, 2, 3, 4) D. [1, 2,3](无变化)
6、以下哪个函数用于获取字符串的长度?( C)
A. size() B. length() C. len() D. count()
7、条件语句 if x > 0: … elif x == 0: … else: … 中,elif的作用是?( B)
A. 替代 if B. 当 if 条件不满足时检查新条件 C. 结束条件判断 D.强制执行后续代码
8、循环语句 for i in range(3): print(i) 的输出是?(A )
A. 0 1 2(换行分隔) B. 1 2 3 C. 0 1 2 3 D. 3
9、函数定义 def func(a, b=2): return a + b,调用 func(3) 的返回值是?(A)
A. 5 B. 3 C. 2 D. 报错(缺少参数)
调用时只传
a=3,b会自动使用默认值 2,结果是 5。
10、以下代码的输出是?(B )
1 | s = "hello" |
A. hello B. ell C. helo D. hel
11、列表 nums = [1, 2, 3],执行 nums.append([4, 5]) 后,nums的值是?(B )
A. [1, 2, 3, 4, 5] B. [1, 2, 3, [4, 5]] C. [1, 2, 3, 4, [5]]D. 报错
12、下列哪个不是Python的关键字?( C)
A. if B. while C. main D. for
13、下列代码的执行结果是( B)
{width=”2.8541666666666665in”
height=”0.4479166666666667in”}
A. 1 B. 3 C. 8 D. 4
14、以下代码的输出是?(B )
1 | print(10 // 3) # 双斜杠表示整除 |
A. 3.333 B. 3 C. 4 D. 3.0
15、Python中布尔类型的关键字是?(A )
A. True/False B. true/false C. YES/NO D. 1/0
二、多选题(共5题,每题5分,共25分;选错、漏选均不得分)
1、以下哪些是Python的基本数据类型?( AC)
A. int B. list C. str D. dict
但严格来说,Python 的**基本数据类型(Built-in Types)**包括:
int,float,complex,boolstrNoneTypebytes,bytearray等
2、关于Python列表(list),正确的描述有?(CD )
A. 列表是有序的 B. 列表元素必须同类型 C. 列表支持索引和切片 D.列表可修改(可变)
3、以下哪些语句可以正确输出”Hello World”?( ACD)
A. print(“Hello World”) B. print(‘Hello World’) C. print(HelloWorld) D. print(“Hello” + “ World”)
del lst[index]或del lst[start:end]是 Python 中删除列表元素的标准方式。
4、下列哪个方法可以删除列表中的元素?(ACD)
A. remove() B. delete() C. pop() D. del
5、以下哪些操作会修改原列表(而非生成新列表)?( AC)
A. lst.append(1) B. lst + [1] C. lst.extend([1]) D. lst = lst +[1]
三、进阶题
1、请使用python实现一个python终端程序,叫学生管理模块,涵盖功能如下:
- 查看学生
- 新增学生
- 修改学生
- 删除学生
- 搜索学生
1 | stu_list = [{'name':'刘备','id':'001','age':'35','gender':'男人'}, |
**明天默写和面试题 **
1、为什么我们不使用root账户?
在 Linux 系统中,root 账户是系统最高权限的管理员,拥有着对系统的完全访问权限。
如果我们直接使用 root 账户,从安全角度来说有着巨大的安全风险。
另外,因为权限过大,因此也有着误操作的风险。
2、IP地址 和 域名的关系是什么?
IP 地址是计算机在网络上的唯一标识符,类似于门牌号。
域名则是互联网上主机或者网络服务的一种易于记忆、具有层次结构的名称标识。
IP 地址与域名互相映射,1个域名对应1个IP 地址,1个 IP 地址对应多个域名。
3、为什么IP地址到现在还没有分配完?
在IPv4 地址紧张的当下,私有IP地址范围(如10.0.0.0/8、172.16.0.0/12和192.168.0.0/16等)被广泛使用于内部网络。
当内部网络设备需要与公网通信时,会利用NAT技术将私有IP地址映射到公共IP地址上。
通过这种方式极大地增加了单个公共IPv4地址可以支持的内部设备数量。
而运营商则使用大规模的NAT系统,允许大量用户共享一个或几个公网IPv4地址,这样也同样减缓了IP短缺的问题。
4、你知道OSI七层网络模型吗?
OSI七层网络模型其层次从下至上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
物理层是最底层,是用于规范数据在物理媒介上传输的规范的一层。
其次是数据链路层,其负责将电信号转换为我们的数据并校验,同时负责了物理层面的选择转发的设备(地址管理和访问控制)。
然后是网络层,负责选择将数据发送到哪台设备上。
传输层则是数据到了我们系统中,开始确认接收信息的服务端口,TCP和UDP就是这一层的。
会话层则是我们服务对通信的管理。
表示层则将我们的数据转换为对应的格式。
最后则是应用层,开始处理我们的业务。




