python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分)
1. python不支持的数据类型有:A
A. char
B. int
C. float
D. list
2. E
x = ‘foo’
y = 2
print(x + y)
A. foo
B. foofoo
C. foo2
D. 2
E. An exception is thrown
3. 关于字符串下列说法错误的是 B
A. 字符应该视为长度为1的字符串
B. 字符串以\0标志字符串的结束
C. 既可以用单引号,也可以用双引号创建字符串
D. 在三引号字符串中可以包含换行回车等特殊字符
4. 以下不能创建一个字典的语句是 C
A. dic1 = {}
B. dic2 = {123:345}
C. dic3 = {[123]:'uestc'}
D. dic4 = {(1,2,3):'uestc'}
注:字典的keys必须是不可变数据类型
5. D
kvps = {'1':1,'2':2}
theCopy = kvps
kvps['1'] = 5
sum = kvps['1'] + theCopy['1']
print(sum)
A. 1
B. 2
C. 7
D. 10
6. 以下何者是不合法的布尔表达式 B
A. x in range(6)
B. 3 = a
C. e > 5 and 4 == f
D. (x - 6) > 5
7. 下列表达式的值为True的是 B
A. 5+4j > 2-3j
B. 3>2==2 (3>2 and 2 == 2)
C. e>5 and 4 == f
D. (x-6)>5
8. 已知x = 43,ch = 'A', y = 1,则表达式(x >= y and ch < 'b' and y)的值是 B
A. 0
B. 1
C. 出错
D. True
9. 下列表达式中返回为True的是 C
A. 3 > 2 > 2
B. 'abc' > 'xyz' (‘abc’< ’xyz’)
C. 0x56 > 56
D. (3,2) > ('a','b') (元组不能比较大小)
10. 下列Python语句正确的是(多选) AD
A. min = x if x < y else y
B. max = x > y ? x : y (C语言里的,python里不对)
C. if (x>y) print(x) (没有冒号)
D. while True :pass
11. 若k为整型,下列while循环执行的次数为 A
k = 1000
while k > 1:
print k (注意:通过这个语句说明是在python2环境下)
k = k /2
A. 9 (python2)--(python2中 / 结果为整)
B. 10 (python3)--(python3中 / 结果保留小数)
C.11
D. 100
12. 以下叙述正确的是 B
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内使用break语句
C. 在循环体内使用break或continue语句的作用相同
D. 从多层循环嵌套中退出是,只能用使用goto语句 (C语言是这样)
13. 关于python中的复数,下列说法错误的是 A
A. 表示复数的语法是real+image j (real + imag j)
B. 实部和虚部都是浮点数
C. 虚部必须后缀j且j不区分大小写
D. 方法conjugate返回复数的共轭复数
14. 下面的语句哪个会无限循环下去 B
A. for a in range(10):
time.sleep(10)
B. while 1<10:
time.sleep(10)
C. while True:
break
D. a = [3,-1,’,’]
for I in a[:]:
if not a :
break
注:只要看到无限循环,带for的都不可能
15. 下面的代码,哪些会输出1,2,3,三个数字(多选) BD
A. for i in range(3):
Print(i) 0,1,2
B. aList = [0,1,2]
for i in aList:
print(i+1) 1,2,3
C. i = 1
while i<3:
print(i) 1,2
i+=1
D. for i in range(3):
Print(i+1) 1,2,3
16. python如何定义一个函数:C
A. class <name>(<type>arg1, <type>arg2,…<type>argN)
B. function <name>(arg1,arg2,…argN)
C. def <name>(arg1,arg2,…argN)
D. def <name>(<type>arg1, <type>arg2,…<type>argN)
二. 填空题(10分)
1. 以下函数需要在其中引用一个全局变量k,请填写语句:
def fun():
global k
k = k + 1
2. L = range(100)
(1) 取第一到第三个元素 list(L[:3])
注:range()是生成器,要用list[]才能取到值
(2) 取倒数第二个元素 L[-2] 或 L[98]
(3) 取后十个元素 list(L[-10::])
(4) 把L复制给L1 L1 = list(L[:])
3. 判断dict有没有某key用的方法: in
4. 获取list的元素个数方法:len(list)
向末尾追加元素的方法:list.append()
5. 以下代码的输出将是什么
def extendList(val,list = []):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print 'list1 = %s'%list1
print 'list2 = %s'%list2
print 'list3 = %s'%list3
结果:
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']
6.下面程序的输出结果是:yes
x = True
y = False
z = False
if x or y and x:
print('yes')
else:
print('no')
三. 简答题
1. 如何判断一个变量是不是字符串
type(变量)
2. is 和 == 的区别
is:比较内存地址
==:比较值
3. python里面如何实现tuple和list的转换
数据类型的强制转换
4. list和tuple有什么不同
list是可变数据类型
tuple是不可变数据类型
5. 如何得到列表list的交集与差集
set(list1 & list2)
set(list1 – list2)
6. python中定义函数时如何书写可变参数和默认参数
def func(*args,默认参数)
7. *args和**kwargs在什么情况下会使用到?请给出使用**kwargs的事例
不确定有多少个参数时
*args是接收所有按照位置传参
**kwargs是接收所有按照关键字传参
事例:装饰器
8. 请描述unicode,utf-8,gbk等编码之间的关系
Unicode:万国码,占内存
Utf-8:
GBK:国标码,不兼容其他国家的语言
9. 如何使用python删除一个文件
import os
os.remove
10.def func(a,b,*args,c = 0,**kwargs):
Pass
*args,**kwargs的作用是什么?
*args是接收所有按照位置传参
**kwargs是接收所有按照关键字传参
四. 写代码(38分)
1. d = {'a':1,'b':2,'c':3}请打印出key,value对
d = {'a':1,'b':2,'c':3}
for k,v in d.items():
print(k,v)
2. 请写出一段python代码实现删除一个list里面的重复元素
用集合:
lis = [1,2,3,4,1,2,5]
print(set(lis))
不用集合:
lis = [1,2,3,4,1,2,5]
lis1 = []
for i in lis:
if i not in lis1:
lis1.append(i)
lis = lis1
print(lis)
3. 使用python上机解决以下题目(13分)
(1) 斐波那契数列1,1,2,3,5,8,13,21…根据这样的规律,编程求出400万以内最大的斐波那契数,并求出它是第几个斐波那契数
num_1 = 1
num_2 = 1
sum = 0
count = 2
while num_1 + num_2 < 3:
sum = num_1 + num_2
num_1 = num_2
num_2 = sum
count += 1
print('400万以内最大的斐波那契数为:%s'%sum, '它是第%s个斐波那契数'%count)
结果:
400万以内最大的斐波那契数为:3524578 它是第33个斐波那契数
(2) dicta = {‘a’:1,’b’:2,’c’:3,’d’:4,’f’:’hello’}
dictb = {‘b’:3,’d’:5,’e’:7,’m’:9,’k’:’world’}
要求写一段代码,实现两个字典的相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接,如上示例得到的结果应为:
dicta = {'a':1,'b':2,'c':3,'d':4,'f':'hello'}
dictb = {'b':3,'d':5,'e':7,'m':9,'k':'world'}
dictc = {}
for k_a in dicta.keys():
if k_a in dictb.keys():
dictc[k_a] = dicta[k_a] + dictb[k_a]
else:
dictc[k_a] = dicta[k_a]
for k_b in dictb.keys():
if k_b not in dicta.keys():
dictc[k_b] = dictb[k_b]
print(dictc)
结果:
{'a': 1, 'b': 5, 'c': 3, 'd': 9, 'f': 'hello', 'e': 7, 'm': 9, 'k': 'world'}
5. 写一个装饰器,可以打印输出方法执行时长的信息(8分)
import time
def run_time(func):
def inner(*args,**kwargs):
start_time = time.time()
ret = func()
end_time = time.time()
return end_time - start_time
return inner
@run_time
def hello_world():
time.sleep(0.1)
print('hello world')
ret = hello_world()
print(ret)
python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)的更多相关文章
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- 全栈数据工程师养成攻略:Python 基本语法
全栈数据工程师养成攻略:Python 基本语法 Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些 ...
- Python面试真题答案或案例
Python面试真题答案或案例如下: 请等待. #coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2.如何在一个函数内部修改全局变量 ...
- 2020年!最全Android大厂面试真题合集(附答案)
这份Android面试真题涵盖了图片,网络和安全机制,网络,数据库,插件化.模块化.组件化.热修复.增量更新.Gradle,架构设计和设计模式,Android Framework .Android优秀 ...
- python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法
一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print ...
- python学习之老男孩python全栈第九期_第一次周末考试题(over)第三次添加完毕
day 6python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合 ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- Python学习笔记(四十三)virtualenv (创建一套“隔离”的Python运行环境)
摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432712108 ...
- 教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师
作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路. 这段往事包括:从不会动的静态网页到最流行的网站开发.实现自己的博客网站.在云里雾里的云中搜索.大数 ...
随机推荐
- 读取型CSRF-需要交互的内容劫持
本文作者:i春秋作家——jing0102 前言 最近在挖洞,"实践出真知"这句话说的很对,在实际挖掘过程中我会思考很多东西,跟朋友一起准备做一份手册,忽然的想到了一些漏洞的定义和规 ...
- C#6.0语言规范(十一) 结构
结构与类类似,因为它们表示可以包含数据成员和函数成员的数据结构.但是,与类不同,结构是值类型,不需要堆分配.结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用,后者称为对象. 结构对于具 ...
- 【ElasticSearch】:QueryDSL
Search API URI Search Response Body Search Query DSL Response Body Search使用Query DSL语句,相对URI Search功 ...
- DNS 预解析
DNS 解析也是需要时间的,可以通过预解析的方式来预先获得域名所对应的 IP. <link rel="dns-prefetch" href="//yuchengka ...
- Java异常处理设计(二)
考虑对JDK的底层堆栈信息进行处理,一种是重写JDK的Throwable,另一种是在原错误堆栈信息上进行“二次加工”.目前这两种方式我都实现了,效果非常好. 这篇文章主要记录对错误堆栈进行“二次加工” ...
- Nuget 打包
https://github.com/NuGetPackageExplorer/NuGetPackageExplorer 下载地址 1 打包的dll 中没有依赖 最简单的情况,保证dll放到lib下, ...
- Jmeter测试Mysql数据库-入门篇
一.jmter配置数据库 1.在配置jmter之前需要先安装数据库连接池驱动,进入到官方下载页面https://dev.mysql.com/downloads/connector/j/,下载对应的驱动 ...
- 公共技术点( View 事件传递)
转载地址:http://p.codekk.com/blogs/detail/54cfab086c4761e5001b253e 本文为 Android 开源项目源码解析 公共技术点中的 View 事件传 ...
- JavaScript -- Window-Confirm
-----032-Window-Confirm.html----- <!DOCTYPE html> <html> <head> <meta http-equi ...
- 谈谈AsmJit
0x01 基本介绍 AsmJit是一个完整的JIT(just In Time, 运行时刻)的针对C++语言的汇编器,可以生成兼容x86和x64架构的原生代码,不仅支持整个x86/x64的指令集(包括 ...