首页天道酬勤python面试题史上最全(python基础面试题)

python面试题史上最全(python基础面试题)

admin 12-02 06:44 287次浏览

作者|天元浪子

编辑| cxdmd

制作人| CSDN博客

编程虽然不是自然语言,但仔细想想,其实在很多方面都符合传统语言学的规律。比如编程语言也注重词汇学(关键词)、结构(程序结构)、句法(语法)、语义(代码功能)等;在语言学习方法上,编程语言和自然语言也高度相似。

回顾学习英语的过程,有这样一个阶段:语法听懂了,词汇量比英国农民大很多(据说英国农民的平均词汇量是800,但我从来没有找到任何数据来验证真实性),但我说不出口,听不懂,急得捶胸顿足。让我们来看看初学者是如何学习Python的。有这样的舞台吗?我已经学会了基本的语法,但是阅读别人的代码是极其困难的,我不知道从哪里开始。

为什么会这样?我的回答是:缺乏语感!什么是语感?专业定义如下:语感是直接快速感知语言的能力,是语言水平的重要组成部分,是语言分析、理解、体验和吸收的高度集中的全过程,是一种体验性很强的能力,涉及学习体验、生活体验、心理体验和情感体验,包括理解能力、判断能力、联想能力等诸多因素。

以上就是我提出编程也要强调“语感训练”的理论依据。语感训练和语法学习不一样,也不是小项目小题目的完整练习。旨在训练字符串处理、文件读写、列表字典元组集对象操作等基本技能。这在编程实践中经常遇到,帮助初学者建立语感。

语感一旦建立,初学者可以随时专注于功能的实现,而不会被小问题打断。

Python语感训练涵盖9大类,包括列表、字典、元组、集合、字符串、打印格式、类型与整数转换、文件读写、杂项等,共100个练习。

将元组(1,2,3)和集合{4,5,6}组合成一个列表。

分别在列表[1,2,3,4,5,6]的开头和结尾添加整数元素7和0。

颠倒列表[0,1,2,3,4,5,6,7]。

反转列表[0,1,2,3,4,5,6,7]并给出中元素5的索引号。

分别统计列表【真、假、0、1、2】中的真、假、0、1、2元素。你发现了什么?

从列表中删除元素' x '[true,1,0,' x ',none,' x ',false,2,true]。

从列表中删除索引号为4的元素[true,1,0,' x ',none,' x ',false,2,true]。

删除列表中索引号为奇数(或偶数)的元素。

清空列表中的所有元素。

分别按升序和降序对列表[3,0,8,5,7]进行排序。

将列表[3,0,8,5,7]中大于5的元素设置为1,将其他元素设置为0。

遍历列表['x ',' y ',' z']并打印每个元素及其对应的索引号。

将列表[0,1,2,3,4,5,6,7,8,9]拆分为奇数和偶数数组。

分别根据每行第一个元素和最后一个元素的大小对二维列表[[6,5],[3,7],[2,8]]进行排序。

从列表[1,4,7,2,5,8]的索引3的位置开始,依次插入列表['x ',' y ',' z']的所有元素。

快速生成[5,50]区间的整数列表。

如果a=[1,2,3],让b=a,执行b[0]=9,a[0]也改变。为什么呢?如何避免?

将列表['x ',' y ',' z']和[1,2,3]变成[('x ',1),(' y ',2),(' z ',3)]。

以列表形式返回字典{'qldmn' : 20,' Frank Turtle ' ' : 18,' Cecil': 21} 21}中的所有键。

以列表形式返回字典{'qldmn' : 20,' Frank Turtle ' ' : 18,' Cecil': 21} 21}中的所有值。

以列表形式返回字典{'qldmn' : 20,' Frank Turtle ' ' : 18,' Cecil': 21} 21}中所有键值对组成的元组。

将“David”:19键值对添加到字典中{“qldmn”336020、“Frank Turtle”336018、“Cecil”336021 },并将Cecil更新为17。

删除字典中的frank turtle关键字{'qldmn' : 20,' frank turtle' ': 18,' Cecil': 21} 21}后,清空字典。

确定大卫和qldmn是否在字典中{'QLDMN' : 20,' Frank Turtle ' ' : 18,' Cecil': 21} 21}。

遍历字典{'qldmn' : 20,' Frank Turtle ' ' : 18,' Cecil': 21} 21}并打印键值对。

如果a=dict,让b=a,执行B. update ({'x' :1}),A也会发生变化。为什么呢?如何避免?

创建一个字典,以列表中的每个元素['a ',' b ',' c ',' d ',' e ',' f ',' g ',' h '为键,默认值为0。

二维结构[['a ',1],['b ',2

]] 和 ((‘x’,3),(‘y’,4)) 转成字典。

将元组 (1,2) 和 (3,4) 合并成一个元组。

将空间坐标元组 (1,2,3) 的三个元素解包对应到变量 x,y,z。

返回元组 (‘qldmn’,‘坦率的乌龟’,‘Cecil’) 中 ‘Cecil’ 元素的索引号。

返回元组 (2,5,3,2,4) 中元素 2 的个数。

判断 ‘Cecil’ 是否在元组 (‘qldmn’,‘坦率的乌龟’,‘Cecil’) 中。

返回在元组 (2,5,3,7) 索引号为2的位置插入元素 9 之后的新元组。

创建一个空集合,增加 {‘x’,‘y’,‘z’} 三个元素。

删除集合 {‘x’,‘y’,‘z’} 中的 ‘z’ 元素,增j加元素 ‘w’,然后清空整个集合。

返回集合 {‘A’,‘D’,‘B’} 中未出现在集合 {‘D’,‘E’,‘C’} 中的元素(差集)。

返回两个集合 {‘A’,‘D’,‘B’} 和 {‘D’,‘E’,‘C’} 的并集。

返回两个集合 {‘A’,‘D’,‘B’} 和 {‘D’,‘E’,‘C’} 的交集。

返回两个集合 {‘A’,‘D’,‘B’} 和 {‘D’,‘E’,‘C’} 未重复的元素的集合。

判断两个集合 {‘A’,‘D’,‘B’} 和 {‘D’,‘E’,‘C’} 是否有重复元素。

判断集合 {‘A’,‘C’} 是否是集合 {‘D’,‘C’,‘E’,‘A’} 的子集。

去除数组 [1,2,5,2,3,4,5,‘x’,4,‘x’] 中的重复元素。

返回字符串 ‘abCdEfg’ 的全部大写、全部小写和大下写互换形式。

判断字符串 ‘abCdEfg’ 是否首字母大写,字母是否全部小写,字母是否全部大写。

返回字符串 ‘this is python’ 首字母大写以及字符串内每个单词首字母大写形式。

判断字符串 ‘this is python’ 是否以 ‘this’ 开头,又是否以 ‘python’ 结尾。

返回字符串 ‘this is python’ 中 ‘is’ 的出现次数。

返回字符串 ‘this is python’ 中 ‘is’ 首次出现和最后一次出现的位置。

将字符串 ‘this is python’ 切片成3个单词。

返回字符串 ‘blog.csdn.net/xufive/article/details/102946961’ 按路径分隔符切片的结果。

将字符串 ‘2.72, 5, 7, 3.14’ 以半角逗号切片后,再将各个元素转成浮点型或整形。

判断字符串 ‘adS12K56’ 是否完全为字母数字,是否全为数字,是否全为字母,是否全为ASCII码。

将字符串 ‘there is python’ 中的 ‘is’ 替换为 ‘are’。

清除字符串 ‘\t python \n’ 左侧、右侧,以及左右两侧的空白字符。

将三个全英文字符串(比如,‘ok’, ‘hello’, ‘thank you’)分行打印,实现左对齐、右对齐和居中对齐效果。

将三个字符串(比如,‘Hello, 我是David’, ‘OK, 好’, ‘很高兴认识你’)分行打印,实现左对齐、右对齐和居中效果。

将三个字符串 ‘15’, ‘127’, ‘65535’ 左侧补0成同样长度。

提取 url 字符串 ‘https://blog.csdn.net/xufive’ 中的协议名。

将列表 [‘a’,‘b’,‘c’] 中各个元素用’|'连接成一个字符串。

将字符串 ‘abc’ 相邻的两个字母之间加上半角逗号,生成新的字符串。

从键盘输入手机号码,输出形如 ‘Mobile: 186 6677 7788’ 的字符串。

从键盘输入年月日时分秒,输出形如 ‘2019-05-01 12:00:00’ 的字符串。

给定两个浮点数 3.1415926 和 2.7182818,格式化输出字符串 ‘pi = 3.1416, e = 2.7183’。

将 0.00774592 和 356800000 格式化输出为科学计数法字符串。

将十进制整数 240 格式化为八进制和十六进制的字符串。

将十进制整数 240 转为二进制、八进制、十六进制的字符串。

将字符串 ‘10100’ 按照二进制、八进制、十进制、十六进制转为整数。

求二进制整数1010、八进制整数65、十进制整数52、十六进制整数b4的和。

将列表 [0,1,2,3.14,‘x’,None,’’,list(),{5}] 中各个元素转为布尔型。

返回字符 ‘a’ 和 ‘A’ 的ASCII编码值。

返回ASCII编码值为 57 和 122 的字符。

将二维列表 [[0.468,0.975,0.446],[0.718,0.826,0.359]] 写成名为 csv_data 的 csv 格式的文件,并尝试用 excel 打开它。

从 csv_data.csv 文件中读出二维列表。

向 csv_data.csv 文件追加二维列表 [[1.468,1.975,1.446],[1.718,1.826,1.359]],然后读出所有数据。

交换变量 x 和 y 的值。

判断给定的参数 x 是否是整形。

判断给定的参数 x 是否为列表或元组。

判断 ‘https://blog.csdn.net’ 是否以 ‘http://’ 或 ‘https://’ 开头。若是,则返回 ‘http’ 或 ‘https’;否则,返回None。

判断 ‘https://blog.csdn.net’ 是否以 ‘.com’ 或 ‘.net’ 结束。若是,则返回 ‘com’ 或 ‘net’;否则,返回None。

将列表 [3,‘a’,5.2,4,{},9,[]] 中 大于3的整数或浮点数置为1,其余置为0。

a,b 是两个数字,返回其中较小者或最大者。

找到列表 [8,5,2,4,3,6,5,5,1,4,5] 中出现最频繁的数字以及出现的次数。

将二维列表 [[1], [‘a’,‘b’], [2.3, 4.5, 6.7]] 转为 一维列表。

将等长的键列表和值列表转为字典。

使用链状比较操作符重写逻辑表达式 a > 10 and a < 20。

写一个函数,以0.1秒的间隔不换行打印30次由函数参数传入的字符,实现类似打字机的效果。

数字列表求和。

返回数字列表中的最大值和最小值。

计算 5 的 3.5 方和 3 的立方根。

对 3.1415926 四舍五入,保留小数点后5位。

判断两个对象是在内存中是否是同一个。

返回给定对象的属性和方法。

计算字符串表达式 ‘(2+3)*5’ 的值。

实现字符串 ‘x={“name”:“David”, “age”:18}’ 包含的代码功能。

使用 map 函数求列表 [2,3,4,5] 中每个元素的立方根。

使用 sys.stdin.readline 写一个和 input 函数功能完全相同的函数。

使用二维列表描述9x9围棋局面,'w’表示白色棋子,‘b’表示黑色棋子,’-'表示无子,打印成下图左所示的文本棋盘。

对于9x9围棋盘,用a-i标识各行,用1-9标识各列,设计函数go,输入位置和颜色,即输出文本棋盘,模拟围棋对弈的过程。

下图中是国际跳棋的初始局面,10x10的棋盘上只有50个深色格子可以落子,'w’表示白色棋子,‘b’表示黑色棋子,’-'表示无子,字符串 phase = ‘b’*20 + ‘-’*10 + ‘w’*20 表示下图中的局面,请将 phase 打印成下图右所示的样子。

题目就到此为止啦,各位小伙伴们做的怎么样呢?

接下来,是公布答案的时间啦。

解答:

1. 将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。

>>> list((1,2,3)) + list({4,5,6})[1, 2, 3, 4, 5, 6]

2. 在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。

>>> a = [1,2,3,4,5,6]>>> a.insert(0,7)>>> a.append(0)>>> a[7, 1, 2, 3, 4, 5, 6, 0]

3. 反转列表 [0,1,2,3,4,5,6,7] 。

>>> a = [0,1,2,3,4,5,6,7]>>> a.reverse>>> a[7, 6, 5, 4, 3, 2, 1, 0]>>> a[::-1][0, 1, 2, 3, 4, 5, 6, 7]

4. 反转列表 [0,1,2,3,4,5,6,7] 后给出中元素 5 的索引号。

>>> [0,1,2,3,4,5,6,7][::-1].index(5)2

5. 分别统计列表 [True,False,0,1,2] 中 True,False,0,1,2的元素个数,发现了什么?

>>> a = [True,False,0,1,2]>>> a.count(True),a.count(False),a.count(0),a.count(1),a.count(2)(2, 2, 2, 2, 1) # count不区分True和1、False和0,但None、''不会被视为False

以上是前 5 题的答案,因篇幅有限,更多答案内容,欢迎扫描下方海报二维码或点击【阅读原文】,加入 Python 大本营,点击查看!

另有任何关于 Python 问题,专家将及时在线解答!

计算机毕业设计ssm汽车租赁管理系统n5s69系统+程序+源码+lw+远程部署SEO优化后期网站微调起关键性稳定排名的作用正则表达式强制特定的3个字符云数据库 SQL Server UDB使用科大讯飞语音SDK实现文字在线合成语音Linux MacBook单机部署Pulsar并开启认证功能
python面试题史上最全(python常见面试题) 雀巢醇品(什么叫做亮相)
相关内容